Issues
- Cleanup MongoDBCNDC-69
- Fix bamboo buildCNDC-67Matthew Calmes
- Update Master file format for new layout from ODECNDC-66Resolved issue: CNDC-66Dave Smith
- xref/conflict/detailCNDC-65Resolved issue: CNDC-65
- Add transfer error reporting via emailCNDC-64Resolved issue: CNDC-64Dave Smith
- Delete ODJFS import file after loading.CNDC-63Resolved issue: CNDC-63Dave Smith
- NPE in interactive search when student not matchedCNDC-62Resolved issue: CNDC-62Dave Smith
- Prepare Version 2.1.0 releaseCNDC-61Resolved issue: CNDC-61Dave Smith
- Implement new 'program' data field from ODJFS fileCNDC-60Resolved issue: CNDC-60Dave Smith
- Divided name matches do not include 'lastname' in 'matched' column of resultsCNDC-58Resolved issue: CNDC-58Dave Smith
- Correct "authen" token handling in productionCNDC-57Resolved issue: CNDC-57Dave Smith
- "Master Updated" date does not update after a master file uploadCNDC-56Resolved issue: CNDC-56
- Evaluate and revise matching logic based on live test filesCNDC-55Resolved issue: CNDC-55Dave Smith
- Minor cleanup and improvementsCNDC-54Resolved issue: CNDC-54Dave Smith
- Update search algorithmCNDC-53Resolved issue: CNDC-53Dave Smith
- Update Master file import for change in address1/2 field sizesCNDC-52Resolved issue: CNDC-52Dave Smith
- Rewrite importing and matching interfaceCNDC-51Resolved issue: CNDC-51Dave Smith
- Change application wide "notice" to be stored in the database and editable by supervisor role.CNDC-50Resolved issue: CNDC-50Dave Smith
- Implement job to clear district uploads and resultsCNDC-49Resolved issue: CNDC-49Dave Smith
- Correct updating of "Master File Updated" in viewCNDC-48Resolved issue: CNDC-48Dave Smith
- Prototype MongoDB implementationCNDC-47Resolved issue: CNDC-47Dave Smith
- Cleanup implemenation codeCNDC-46Resolved issue: CNDC-46Dave Smith
- Modify behavior of matching when additional fields are included in uploadCNDC-45Resolved issue: CNDC-45Dave Smith
- Implement test and administration rolesCNDC-44Resolved issue: CNDC-44Dave Smith
- Complete the Automation the periodic update of the DCFCNDC-43Resolved issue: CNDC-43Dave Smith
- Implement usage auditing loggingCNDC-42Resolved issue: CNDC-42Dave Smith
- Improve matching logicCNDC-41Resolved issue: CNDC-41Dave Smith
- Implement a user interface to allow a matching option for individual studentsCNDC-40Resolved issue: CNDC-40Dave Smith
- Add ability for admin to add notice to web page.CNDC-39Resolved issue: CNDC-39Dave Smith
- Implement initial ODJFS master file uploadCNDC-38Resolved issue: CNDC-38Dave Smith
- Does not handle dates formatted with 'dashes'CNDC-37Resolved issue: CNDC-37Dave Smith
- Improve matching performanceCNDC-36Resolved issue: CNDC-36Dave Smith
- Add date of last Master file update to interfaceCNDC-35Resolved issue: CNDC-35Dave Smith
- Handle import of file with excess tabsCNDC-34Resolved issue: CNDC-34WR
- Improve validation of input fileCNDC-33Resolved issue: CNDC-33WR
- Modify results to only include fields uploaded by the userCNDC-32Resolved issue: CNDC-32
- Tweak dataOfBirth format in result to be more palable to ExcelCNDC-31Resolved issue: CNDC-31Dave Smith
- Modify result field names to match input file field namesCNDC-30Resolved issue: CNDC-30Dave Smith
- Move "match type" to be a column in the result set instead of emitting "multiple reports" in output.CNDC-29Resolved issue: CNDC-29Dave Smith
- Correct performance issuesCNDC-28Resolved issue: CNDC-28Dave Smith
- Improve application Bootstrap.CNDC-27Resolved issue: CNDC-27
- Prepare Application for deployment under GlassfishCNDC-26Resolved issue: CNDC-26Dave Smith
- Move User documentation to SSDT Wiki spaceCNDC-25Resolved issue: CNDC-25Dave Smith
- Create ability for Developers to access application on Test environment and productionCNDC-24Resolved issue: CNDC-24AmyJo Rouleau
- ODE needs site to work with Results table and creation of report from that tableCNDC-22Resolved issue: CNDC-22AmyJo Rouleau
- Make changes to create report from the matches tableCNDC-21Resolved issue: CNDC-21AmyJo Rouleau
- Improve CNDC so that Domains are used to access the database instead SQL proceduresCNDC-20Resolved issue: CNDC-20AmyJo Rouleau
- Update documentationCNDC-19Resolved issue: CNDC-19AmyJo Rouleau
- Access to CNDC via a third party menu systemCNDC-11Resolved issue: CNDC-11AmyJo Rouleau
- First name spelling differs from enrollment list spelling with all other identifiers the sameCNDC-18Resolved issue: CNDC-18AmyJo Rouleau
Cleanup MongoDB
Description
Environment
Attachments
Details
Assignee
UnassignedUnassignedReporter
Wendy RootWendy RootTime tracking
4h loggedFix versions
Priority
Major
Details
Details
Assignee
Reporter
Time tracking
Fix versions
Priority
Better PDF Exporter
Better PDF Exporter
Better PDF Exporter
Activity
Wendy RootJune 13, 2023 at 1:02 PM
Code - Delete, Reindex
BootStrap.groovy
MaintenanceJob.groovy
load.gsp (from a privileged account only)
has a checkbox allowing the user to select to Re-index the existing master.
LoadContext.groovy
The load.gsp updates this context for the reindex value. The LoadContext is then used by LoadJob.groovy and DirectCertLoadService.groovy
LoadJob.groovy
Teresa WilliamsJune 12, 2023 at 1:32 PM
The reindex you mentioned on StudentMaster is part of the data import executed each month.
Wendy RootJune 9, 2023 at 12:35 PMEdited
CNDC MongoDB Tables
DatabaseInfo
Has 1 record
Processinglog
Has 103,084 records
There are 69,155 records with a date < '01/01/2020'
StudentDistrict
Has 0 records
StudentMaster
Has 602,959 records
StudentResult
Has 0 Records. This domain had a reference to StudentDistrict which also has 0 records.
In researching the application, I found that these are temporary tables/collections. There is a maintenance job that goes out and cleans (deleteAll) these table nightly. These tables are populated when a user does an interactive run to get a report of their qualifying students.
User
3 Records for Admin accounts
Temporary Collections
There are several 'tmp.mr' collections listed in the CNDC DB.
I found that these are temporary 'map reduce' tables. They are supposed to be deleted automatically when the connection which created them is closed.
Found the following script that someone had posted in Stackoverflow to remove these dead/unwanted tmp collections in an automated manner.
For this issue, we can just do a normal db.collectionName.drop() and see if they come back on a regular basis.
These tmp tables were dropped on 6/9/2023.
Reindex
Reindexed StudentMaster on 6/9/2023
Removed Log Entries prior to 1/1/2020
Completed 6/9/2023
After removing these entries, there are now 33,929 records in the Processinglog collection.
Reindexed after removals - only index is id so doubtful this had any impact.
Compact or Repair
In order to try to reclaim space in the database, we will need to use the Compact command. Before doing so, we need to ensure we have a good backup of the database.
https://www.mongodb.com/docs/v2.6/reference/command/compact/#dbcmd.compact
Another option is the repairDatabase command.
https://www.mongodb.com/docs/v2.6/reference/command/repairDatabase/
For either one of these options, it will lock up the application preventing users from being able to do anything.
The StudentMaster collection is using about 2.6GB of space.
Processinglog is using 23.6MB of space.
The two 'temporary collections' are reserving ALOT of space. Even tho there are no records in these tables at this time, the space they have used is still reserved.
StudentDistrict is using 28.99GB
StudentResult is using 3.3GB
Any log file within the database that has a create date less than 2020 may be deleted.
Also review the table(s) for this application to determine if there may be other old data that may be removed.
Over and above the CNDC database, there is an old database
LAMPCMS
Catherine identified as obsolete. This database is going to be removed as well under this Jira issue.