Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.1.0 release merge Develop -> Main #2038

Merged
merged 549 commits into from
Dec 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
549 commits
Select commit Hold shift + click to select a range
57a5ad9
Added the hashstore conversion class.
taojing2002 Aug 20, 2024
46eb014
Reworded the error message if the conversion fails.
taojing2002 Aug 20, 2024
2a2e422
In the progress status, the icon should be un-configured.
taojing2002 Aug 20, 2024
0b12742
Made reshreshing browsers work after log-in.
taojing2002 Aug 20, 2024
0fd05c9
Added more styled display.
taojing2002 Aug 20, 2024
2529259
Reworded some error messages.
taojing2002 Aug 20, 2024
c6ac4c2
Changed the code since hashstore removed the delete(idType, id) and v…
taojing2002 Aug 20, 2024
ce23be6
Put the convert method into place.
taojing2002 Aug 20, 2024
9ede6dc
Added the code to record the failed ids during the process.
taojing2002 Aug 21, 2024
ff639c8
Added code to put those error files into the information page.
taojing2002 Aug 21, 2024
216e29c
Change the error file writers to the local variables.
taojing2002 Aug 21, 2024
42662ad
Added more tests for HashStoreUpgrader and HashStoreConversionAdmin.
taojing2002 Aug 21, 2024
7e3c502
Renamed the HashStoreConversionAdminTest to IT.
taojing2002 Aug 21, 2024
3f80d18
Added more tests in the class.
taojing2002 Aug 21, 2024
d6eca30
Added more tests for HashStoreUpgrader.
taojing2002 Aug 21, 2024
f3d2a24
Removed some commented code.
taojing2002 Aug 21, 2024
bdd7f29
Added the test for the upgrade method.
taojing2002 Aug 21, 2024
cdc3864
Fixed a bug in the testUpgrade method.
taojing2002 Aug 21, 2024
85a8e31
Added more tests to test the upgrade method.
taojing2002 Aug 22, 2024
a67f933
Added a test to check if checksums were stored.
taojing2002 Aug 22, 2024
5f5cca6
Add a new test for testing to write messages to the log file.
taojing2002 Aug 22, 2024
e776715
Renamed the class from UpdateStatus to UpgradeStatus.
taojing2002 Aug 22, 2024
e843f88
Added more tests and fixed bugs for HashStoreUpgrader.
taojing2002 Aug 22, 2024
7d029bc
Centeralized the wirters for logging the error messages.
taojing2002 Aug 22, 2024
d619b74
Bumpped the log level to error for a log statement.
taojing2002 Aug 22, 2024
908bc32
Added the code to intialize storage if it hasn't been done yet.
taojing2002 Aug 22, 2024
bff2847
Move the convertStorage method into the not configured block.
taojing2002 Aug 22, 2024
2976db2
Added the code to set the max length of the future list. So it will n…
taojing2002 Aug 23, 2024
897668e
Added a log statement at the beginning of the convertStorage method.
taojing2002 Aug 23, 2024
4639c76
Removed a space from the fake checksum.
taojing2002 Aug 23, 2024
8dbacfc
Moved the method of initializeStorage to MetacatInitializer for the a…
taojing2002 Aug 23, 2024
0e5c14c
Added a test to test if the covertStorage method is kicked off.
taojing2002 Aug 23, 2024
b7ff012
Fixed a bug the storage wasn't initialized when the converter started…
taojing2002 Aug 23, 2024
1841df2
Added the code to make sure the property is configured before initial…
taojing2002 Aug 23, 2024
b05f4e5
In the isConverted method, changed the call of getStatus to once to i…
taojing2002 Aug 23, 2024
f059078
In the testConvertStorageInContextInitialized method, use the paramet…
taojing2002 Aug 23, 2024
b716ebc
Added the code to test checksums after updating an object.
taojing2002 Aug 26, 2024
da37b79
Reset the systemmetadata to the request after assinged the checksums.
taojing2002 Aug 26, 2024
dd4039e
Added the test statement to check the chechsum lists after resolving.
taojing2002 Aug 26, 2024
6777c96
Deleted the red class and use the em one which already exists.
taojing2002 Aug 27, 2024
19d2760
Removed the space after the close tag.
taojing2002 Aug 27, 2024
29d00ee
Reformatted an exception message to remove unnecessary string concat.
taojing2002 Aug 27, 2024
07bab86
Merge pull request #1956 from NCEAS/bug-1955-missing-checksums
taojing2002 Aug 27, 2024
62ed19a
Used storage to replace hashstore.
taojing2002 Aug 27, 2024
d33cd74
Changed the icon for the in-progress status.
taojing2002 Aug 27, 2024
021f407
only call convertStorage() if not in K8s
artntek Aug 27, 2024
1508805
Made changes based on the reviewer's suggestion.
taojing2002 Aug 27, 2024
699cc53
Merge branch 'feature-1347-hash-store' of https://github.com/nceas/me…
taojing2002 Aug 27, 2024
3cd5234
Changed some typos.
taojing2002 Aug 27, 2024
e57ae56
Fixed a typo.
taojing2002 Aug 27, 2024
1be4e05
Fixed an issue that a line has unnecessary string concat.
taojing2002 Aug 27, 2024
14198ac
Removed some unused methods.
taojing2002 Aug 27, 2024
91ea6f4
Formatted the code based on the suggestions from the reviewer.
taojing2002 Aug 27, 2024
7a621ec
Use a constant string to replace a hard-coded string.
taojing2002 Aug 27, 2024
689110d
Added a condition to display the warning of the long time process of …
taojing2002 Aug 28, 2024
6226e5f
Made the information clearer for the files containing the failed obje…
taojing2002 Aug 28, 2024
3824d8f
Change the class of ObjectInfo to record.
taojing2002 Aug 28, 2024
f75e926
Removed the constant failed from MetacatAdmin.
taojing2002 Aug 28, 2024
e4b369b
Added the code to distinguish k8s or not when we test if the covertSt…
taojing2002 Aug 28, 2024
06d5351
Use a set of futures to make the code more effecient.
taojing2002 Aug 28, 2024
a6fe44a
Increase the log level to error in a conversion fails.
taojing2002 Aug 28, 2024
b6b8315
Fixed a bug that removing objects from the set cause an exception.
taojing2002 Aug 28, 2024
45bc48e
Merge branch 'main' into develop
taojing2002 Aug 28, 2024
24e6828
Adjusted the condition of k8s to avoid a database error.
taojing2002 Aug 29, 2024
aa4d922
Reworded the message for the files containing the failed pids.
taojing2002 Aug 29, 2024
ec86ca4
Make sure the system metadata input stream will be closed.
taojing2002 Aug 29, 2024
1db7188
Removed the usage of the Future class to keep track the jobs of the E…
taojing2002 Aug 29, 2024
9ce3d89
Removed the while loop to wait the excutor to finish its jobs.
taojing2002 Aug 29, 2024
444c9e5
Made the timeout configurable.
taojing2002 Aug 29, 2024
ee82b31
Made changes about the property name and the try-resource statement.
taojing2002 Aug 30, 2024
f37ae65
typo fix
artntek Aug 30, 2024
7be1b86
Merge pull request #1940 from NCEAS/feature-1347-hash-store
taojing2002 Aug 30, 2024
270a5bd
ExecutorService uses a shared unbounded queue to accept tasks. So if …
taojing2002 Sep 4, 2024
d8a12b7
Used the removeIf method to replace iterator.
taojing2002 Sep 4, 2024
aead6b2
Merge pull request #1966 from NCEAS/feature-1347-hash-store
taojing2002 Sep 4, 2024
43f06e2
Increased the version to 3.0.2 for dataone-indexer.
taojing2002 Sep 4, 2024
ce5702d
Removed the snapshot appendix version for dataone-indexer
taojing2002 Sep 4, 2024
03ea76b
Use a for loop to replace the while loop in waiting. So it can avoid …
taojing2002 Sep 5, 2024
c239710
Reworded a comment and fixed a minor format issue.
taojing2002 Sep 5, 2024
9b7d51d
Merge pull request #1967 from NCEAS/feature-1347-hash-store
taojing2002 Sep 5, 2024
a3714d0
Added a dependency on junit-bom.
taojing2002 Sep 6, 2024
62f4b42
Replaced the MNode.create methods by d1NodeService.mnCreate.
taojing2002 Sep 9, 2024
567c2bd
Merge branch 'develop' into feature-1347-hash-store
taojing2002 Sep 10, 2024
be283e4
Use the method D1NodeService.mnCreate to replace MNodeService.create.
taojing2002 Sep 11, 2024
0350789
Merge pull request #1970 from NCEAS/feature-1347-hash-store
taojing2002 Sep 11, 2024
23acbb0
Increated version of postgres, commons-io and et al.
taojing2002 Sep 12, 2024
abd21a3
Merge pull request #1971 from NCEAS/bug-increase-dependency-versions
taojing2002 Sep 12, 2024
3f016c3
Upgrade mockito to 5.20.0.
taojing2002 Sep 18, 2024
a3f157c
Merge pull request #1977 from NCEAS/bug-increase-dependency-versions
taojing2002 Sep 18, 2024
6752c63
Add the code to select the docids which haven't been converted to the…
taojing2002 Sep 30, 2024
91980cc
Merge branch 'develop' into feature-1347-hash-store
taojing2002 Oct 2, 2024
652cf17
Added the code to create system metadata if there is no system metada…
taojing2002 Oct 2, 2024
2c231a0
Added the test to capture the identifiers which don't have the record…
taojing2002 Oct 2, 2024
5425381
Added the code to read the object from the legacy store. This is for …
taojing2002 Oct 3, 2024
c750aa5
Added the test code for the readFileFromLegacyStore.
taojing2002 Oct 3, 2024
9867e89
Add a test to test the object without system metadata.
taojing2002 Oct 3, 2024
e129dde
Added the code to set the format id in the SystemMetadataFactory class.
taojing2002 Oct 3, 2024
c8af116
Put the mock properties in the setUp method.
taojing2002 Oct 3, 2024
2ba9f9b
Merge pull request #1979 from NCEAS/feature-1347-hash-store
taojing2002 Oct 3, 2024
0c65b25
Added the code to create an index for log_dated in the access_log table.
taojing2002 Oct 7, 2024
c77823d
Fixed the bug based on the ticket to improve the performance of the d…
taojing2002 Oct 9, 2024
c3cb614
Fixed a bug in the log statement.
taojing2002 Oct 9, 2024
15d0a65
Added a log statement to print out the real prepared sql query.
taojing2002 Oct 10, 2024
7b4e6cd
Bump commons-io to 2.17.0
taojing2002 Oct 10, 2024
5f077dc
Merge pull request #1983 from NCEAS/bug-increase-dependency-versions
taojing2002 Oct 11, 2024
b8bdf22
Merge pull request #1982 from NCEAS/bug-1976-query-log
taojing2002 Oct 11, 2024
7e38d7c
Merge branch 'develop' into feature-1347-hash-store
taojing2002 Oct 21, 2024
c9e3a72
Added the code to stop the conversion if the operatore set the proper…
taojing2002 Oct 21, 2024
0efb7bb
Added a test case to disable the hashstore conversion.
taojing2002 Oct 21, 2024
0ef2860
Merge pull request #1988 from NCEAS/feature-1347-hash-store
taojing2002 Oct 22, 2024
826bd53
bump mc & indexer versions to snapshot
artntek Oct 22, 2024
b88267b
revert to simple test deployemnt for release testing
artntek Oct 22, 2024
133df70
Merge pull request #1989 from NCEAS/feature-1984-3.1.0-release-prep
artntek Oct 22, 2024
1eaf0f9
remove incorrect comment
artntek Oct 22, 2024
8e80dcb
Also log the information in the log file which contains the informati…
taojing2002 Oct 23, 2024
d15e4e2
fix broken build on linux by excluding older commons-io from wicket-core
artntek Oct 23, 2024
0a91c20
Merge pull request #1997 from NCEAS/feature-1347-hash-store
artntek Oct 23, 2024
159a114
Merge branch 'develop' into bug-increase-dependency-versions
artntek Oct 23, 2024
24478ef
Merge pull request #1998 from NCEAS/bug-increase-dependency-versions
artntek Oct 23, 2024
3e46235
Merge branch 'develop' into feature-1984-3.1.0-release-prep
artntek Oct 23, 2024
87ed15f
docker image snapshot version
artntek Oct 23, 2024
dcf558b
Merge pull request #1999 from NCEAS/feature-1984-3.1.0-release-prep
artntek Oct 23, 2024
63e2458
Add a script to backup the checksums table.
taojing2002 Oct 23, 2024
03ef37c
Add a print statement to indicate the backup file name.
taojing2002 Oct 23, 2024
17ee3b5
Add a script to restore the checksums table from a file.
taojing2002 Oct 23, 2024
bc76325
Renamed the two script files.
taojing2002 Oct 23, 2024
d7320d3
Added a README file.
taojing2002 Oct 23, 2024
e0612ff
Add a section about the user's privilege.
taojing2002 Oct 23, 2024
86fbace
Merge pull request #2000 from NCEAS/feature-1991-restore-checksums-table
taojing2002 Oct 24, 2024
cab2a6b
Bump the verion of dataone-indexer to 3.1.0-SNAPSHOT.
taojing2002 Oct 25, 2024
096682e
Merge pull request #2001 from NCEAS/bug-increase-dependency-versions
taojing2002 Oct 25, 2024
6dcdaf0
Use heredoc to execute the multiple sql commands to make sure the com…
taojing2002 Oct 30, 2024
9d89099
initialize all needed params from pod env and configMap
artntek Oct 31, 2024
7a59b41
Merge branch 'develop' into feature-1991-restore-checksums-table
artntek Oct 31, 2024
082e786
Change the datacite version to 4.5.
taojing2002 Oct 31, 2024
3f61c82
Combine a string constant to one line.
taojing2002 Oct 31, 2024
c425ee3
Merge pull request #2007 from NCEAS/feature-2005-upgrade-datacite
taojing2002 Oct 31, 2024
a5468e9
fix need for trailign slash when context added
artntek Oct 31, 2024
eec5e10
use uid:gid 59997
artntek Oct 31, 2024
fe94c81
add --depth to clone command to speed it up
artntek Oct 31, 2024
584a2c9
Merge pull request #2008 from NCEAS/feature-1608-speedy-mcui-clone
artntek Nov 1, 2024
dc38f21
change user:group to 59997
artntek Nov 5, 2024
4c55126
metacat->tomcat correction
artntek Nov 5, 2024
d77463d
correct groups
artntek Nov 5, 2024
164fbc8
latest settings
artntek Nov 5, 2024
b99ea9f
latest settings
artntek Nov 5, 2024
5c0cc2d
change /home/metacat to /home/tomcat
artntek Nov 5, 2024
c1c6519
Merge branch 'develop' into feature-1984-3.1.0-release-prep
artntek Nov 5, 2024
0f2c92d
update groups for indexer user
artntek Nov 5, 2024
70d60e6
move common overrides to root values.yaml
artntek Nov 6, 2024
69b22cb
move postgres uid/gid overrides to base values.yaml
artntek Nov 6, 2024
e957626
add runAsNonRoot
artntek Nov 6, 2024
7d594d8
fix docs
artntek Nov 6, 2024
c44efc9
Merge pull request #2009 from NCEAS/feature-1984-3.1.0-release-prep
artntek Nov 6, 2024
f990bb7
update hgashstore version to 1.1.0-SNAPSHOT
artntek Nov 7, 2024
c5408bb
Merge pull request #2011 from NCEAS/feature-1984-3.1.0-release-prep
artntek Nov 7, 2024
651ec4c
Merge pull request #2006 from NCEAS/feature-1991-restore-checksums-table
artntek Nov 11, 2024
4b565ca
fixed MetacatInitializerIT
artntek Nov 12, 2024
2602940
assert runnign in k8s for rmq-related expected exception
artntek Nov 12, 2024
7b2c9fa
Merge pull request #2012 from NCEAS/feature-1964-fix-initializer-tests
artntek Nov 13, 2024
2634f6c
Refactory the method of getInputStreamFromLegacyStore.
taojing2002 Nov 13, 2024
1eb3b1a
The code will look the path from both the data and documents director…
taojing2002 Nov 13, 2024
b3fa3a4
Merge branch 'develop' into feature-1347-hash-store
taojing2002 Nov 13, 2024
4c28f18
limit threads to 5 fewer than DB conn pool limit
artntek Nov 13, 2024
d6a0676
add debug logging
artntek Nov 13, 2024
d155457
add check to ensure min 1 db connection
artntek Nov 13, 2024
df41ec5
fix log message spacing: 'from the db isin progress'
artntek Nov 13, 2024
962249e
Merge pull request #2017 from NCEAS/bugfix-2016-limit-threads-hashsto…
artntek Nov 13, 2024
843f13a
Merge branch 'develop' into feature-1347-hash-store
taojing2002 Nov 13, 2024
e74369b
Added the code to make the coversion success if the un-matched checks…
taojing2002 Nov 13, 2024
79d6447
Added a message to the non-matching checksum file to let the user sub…
taojing2002 Nov 14, 2024
0391321
Since cn allows no data objects existing, the file path can be null. …
taojing2002 Nov 14, 2024
1c071ff
Add more comments.
taojing2002 Nov 14, 2024
45d967b
Fixed a bug that the record information was written to a wrong file.
taojing2002 Nov 14, 2024
6c0986d
Renamed the class of HashStoreUpgraderTest to HashStoreUpgraderIT
taojing2002 Nov 14, 2024
a446e55
Modify the method to test the incorrect checksum.
taojing2002 Nov 14, 2024
4048edd
mock rs.next()
artntek Nov 14, 2024
016ed20
Add more log statements.
taojing2002 Nov 14, 2024
4d4ed52
Use a random string to replace the data file in the testUnmatchChecks…
taojing2002 Nov 14, 2024
8f8d93e
Put the lock and unlock before saving the system metadata.
taojing2002 Nov 14, 2024
25c4af3
Print out an exception.
taojing2002 Nov 14, 2024
bab9fb6
Deleted a duplicated code to store system metadata.
taojing2002 Nov 14, 2024
9e76719
Removed the path.toString() to path since it can be null.
taojing2002 Nov 14, 2024
538304f
Make the test non-matched checksum method work.
taojing2002 Nov 15, 2024
081607c
Completed the test for the un-matched checksums for the metadata.
taojing2002 Nov 15, 2024
9f0e2f2
Modified the test for testing incorrect checksum algorithm.
taojing2002 Nov 15, 2024
1ca956a
Change a log statement.
taojing2002 Nov 15, 2024
0a79ad2
Added a more complete tests for the resovle method on mn.
taojing2002 Nov 15, 2024
5a69b20
Reword the exception message in the getLocalId method.
taojing2002 Nov 15, 2024
557bbcc
Added the test to resolve method.
taojing2002 Nov 15, 2024
139703a
Fixed a bug to handle the local id doesn't exist.
taojing2002 Nov 15, 2024
4305460
Add a test to test if an object created by the Dataone api somehow mi…
taojing2002 Nov 15, 2024
9d4c685
Add a new test to conver a docid which was generated by Metacat API a…
taojing2002 Nov 15, 2024
71189cb
In the xmltables-postgres.sql file, add a new index access_log_date_l…
taojing2002 Nov 15, 2024
6fd5a6a
Merge pull request #2019 from NCEAS/bug-1976-query-log
taojing2002 Nov 18, 2024
6abf4f4
Reworded some log statements.
taojing2002 Nov 18, 2024
a0868d2
Add a log statement to log the error message about mis-matching check…
taojing2002 Nov 18, 2024
b4248d8
Merge pull request #2020 from NCEAS/feature-1347-hash-store
taojing2002 Nov 18, 2024
3292e47
sccript to get modified objects and index them
artntek Nov 21, 2024
672192d
refined grep of result
artntek Nov 21, 2024
f19ad57
process pids in batches of 5
artntek Nov 21, 2024
a6404b3
save failures to a file
artntek Nov 21, 2024
e857e95
Change the dependency of hashstore from 1.1.0-SNAPSHOT to 1.1.0.
taojing2002 Nov 21, 2024
2c838d6
cleanup
artntek Nov 21, 2024
33479d6
Merge pull request #2025 from NCEAS/feature-1990-index-object-delta
artntek Nov 21, 2024
1074a80
move all X-Proxy-Header setup into current namespace; no longer requi…
artntek Nov 26, 2024
2d7b976
Merge pull request #2027 from NCEAS/feature-2022-multi-xproxy
artntek Nov 26, 2024
a9b64e0
update indexer subchart varsion
artntek Nov 26, 2024
1de9427
add pv examples
artntek Nov 27, 2024
37d88ce
checklist and examples
artntek Nov 27, 2024
85c8e35
minor correction
artntek Nov 27, 2024
e7b2449
updated readme for 3.1.0/2.1.0 release
artntek Nov 27, 2024
a28d1d5
Merge pull request #2028 from NCEAS/feature-1984-3.1.0-release-prep
artntek Nov 27, 2024
fd40a61
3.0.0-to-3.1.0-upgrade-checklist
artntek Nov 28, 2024
7761363
updated helm chart 1.2.0 release notes
artntek Nov 28, 2024
ea13e19
added docker changes
artntek Nov 28, 2024
adcd417
title correction
artntek Nov 28, 2024
0cd5529
Change the dependency of dataone-indexer from 3.1.0-snapshot to 3.1.0.
taojing2002 Dec 2, 2024
055790d
add configurable ingress defaultBackend for arcticdata.io wordpress s…
artntek Dec 4, 2024
7083d68
Merge pull request #2031 from NCEAS/feature-1954-k8s-ingress-defaultb…
artntek Dec 4, 2024
ac34769
fix defaultBackend.enabled
artntek Dec 5, 2024
fd2d34f
Merge branch 'develop' into feature-1984-3.1.0-release-prep
artntek Dec 9, 2024
235490d
update mcui subchart version to 1.0.1, mc app version to 3.1.0, and m…
artntek Dec 9, 2024
8ecb662
update values table
artntek Dec 9, 2024
e687eb9
update values table
artntek Dec 9, 2024
6271c38
update release notes for metacat 3.1.0
artntek Dec 10, 2024
bdeed61
clarify solr upgrade/reindex and reference from 3.1.0 notes
artntek Dec 10, 2024
edd0fe3
Merge pull request #2030 from NCEAS/feature-1984-3.1.0-release-prep
artntek Dec 11, 2024
7ff3058
Change the doi to the newly reserved.
taojing2002 Dec 11, 2024
2f80084
Merge branch 'develop' into feature-1984-3.1.0-release-prep
artntek Dec 11, 2024
42c936a
Update READE to 3.1.0.
taojing2002 Dec 11, 2024
e3a1663
Merge branch 'feature-1984-3.1.0-release-prep' of https://github.com/…
taojing2002 Dec 11, 2024
a973138
Merge pull request #2034 from NCEAS/feature-1984-3.1.0-release-prep
taojing2002 Dec 11, 2024
445b46b
update docker readme so we no longer need to edit version numbers
artntek Dec 11, 2024
e564e67
auto-populate build version number so we don't need to keep editing
artntek Dec 11, 2024
ba52018
update docker readme so we no longer need to edit version numbers
artntek Dec 11, 2024
3c257ce
Merge pull request #2035 from NCEAS/feature-1984-3.1.0-release-prep
artntek Dec 11, 2024
9ca25a1
Added the property for hashstore.
taojing2002 Dec 11, 2024
eda3012
Fixed an issue of a malformed table.
taojing2002 Dec 11, 2024
e81d4cc
Renamed the link for the hashstore root directory.
taojing2002 Dec 11, 2024
d266844
Pointed the correct help page for the hashstore root directory.
taojing2002 Dec 11, 2024
06f732a
bump mcui subchart to v1.0.2
artntek Dec 11, 2024
ad35c28
Merge branch 'develop' into feature-1984-3.1.0-release-doc
artntek Dec 11, 2024
d76a1d8
updates for 3.1.0
artntek Dec 12, 2024
950491a
updates for 3.1.0
artntek Dec 12, 2024
a7226c4
make indexer token section 3.0-specific
artntek Dec 12, 2024
10f79a5
updated upgrade docs
artntek Dec 12, 2024
fa77a66
resized to match other images on page
artntek Dec 12, 2024
1773c94
Merge pull request #2036 from NCEAS/feature-1984-3.1.0-release-doc
artntek Dec 12, 2024
11157f2
set release date 12/16/24
artntek Dec 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Metacat: Data Preservation and Discovery System

Version: 3.0.0 Release
Version: 3.1.0 Release
- See [Release Notes](RELEASE-NOTES.md)
- DOI: [doi:10.18739/A2VX0650Z](https://doi.org/10.18739/A2VX0650Z)
- DOI: [doi:10.18739/A2HT2GD6X](https://doi.org/10.18739/A2HT2GD6X)

Send feedback and bugs to:

Expand Down Expand Up @@ -43,7 +43,7 @@ for the next release.

Cite this software as:

> Jing Tao, Matthew Brooke, Dou Mok, Matthew B. Jones. 2024. Metacat: Data Preservation and Discovery System (3.0.0). Arctic Data Center. Software. [doi:10.18739/A2VX0650Z](https://doi.org/10.18739/A2VX0650Z)
> Jing Tao, Matthew Brooke, Dou Mok, Matthew B. Jones. 2024. Metacat: Data Preservation and Discovery System (3.1.0). Arctic Data Center. Software. [doi:10.18739/A2HT2GD6X](https://doi.org/10.18739/A2HT2GD6X)

## Current Contributors

Expand Down
112 changes: 95 additions & 17 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,73 @@
# Metacat Release Notes


## Release Notes for Metacat 3.1.0

**Release date: 2024-12-16**

> **IMPORTANT** If you are upgrading from version 2.19, please see the [Upgrade
> Notes](#upgrade-notes-2190-to-300-or-above) below.

The Metacat version 3.1.0 release introduces significant performance enhancements for managing large
datasets. This was achieved by integrating with the new Dataone hash-based storage library,
[`hashstore-java`](https://github.com/DataONEorg/hashstore-java), which necessitated substantial
changes to disk-based file-storage methods.

### New Features & Enhancements:
* Metacat uses the DataONE [`hashstore-java`](https://github.com/DataONEorg/hashstore-java)
hash-based storage library.
* Existing stored files are seamlessly migrated to the new storage system.
* **Setup no longer requires an auth token in order to index private datasets**, thus simplifying
installation.
* Upgraded datacite version to 4.5 from 4.3 for EZID DOI service ([Issue
#2005](https://github.com/NCEAS/metacat/issues/2005))
* Docker changes:
* Updated base image to `tomcat:9.0.96-jre17-temurin-jammy` (from `9.0.82`)
* Run container as tomcat user & group, with uid 59997 and gid 59997

### Upgrades and Bug Fixes:
* Bump com.rabbitmq:amqp-client from 5.14.2 to 5.21.0
([Issue #1922](https://github.com/NCEAS/metacat/issues/1922))
* Add indexes to the access_log table ([Issue #1965](https://github.com/NCEAS/metacat/issues/1965))
* Optimize the query to get log record ([Issue #1976](https://github.com/NCEAS/metacat/issues/1976))

## Release Notes for helm chart 2.1.0

**Release date: 2024-12-16**

### New Features & Enhancements:
* Increase Application version to 3.1.0
* Increase MetacatUI subchart version to 1.0.1 (MetacatUI app version 2.31.0)
* Increase dataone-indexer subchart version to 3.1.0
* Setup no longer requires an auth token in order to index private datasets
* DataONE Member Node setup simplified, and no longer requires admin access to the nginx controller;
all [X-Proxy-Header setup now takes place in the current release
namespace](https://github.com/NCEAS/metacat/pull/2027/files)
* Helm chart README updated with new setup for v3.1.0, and new [checklist added, for Metacat K8s
Installation and Migration/Upgrade
Steps](https://github.com/NCEAS/metacat/blob/main/helm/admin/MetacatQuickRef.md)
* Example PV and PVC creation files added in the [`helm/admin` directory](./helm/admin).
* Changes to UID & GID defaults:
* Metacat `podSecurityContext` defaults updated to `runAsUser: 59997`,
`runAsGroup: 59997` and `fsGroup: 59997`.
* Dataone-indexer subchart `podSecurityContext` defaults updated to `fsGroup: 59997`.
* Postgresql subchart `containerSecurityContext` defaults updated to `runAsUser: 59996`, and
`podSecurityContext` defaults updated to `runAsNonRoot: true`
* (NOTE you will need to chmod any existing `metacat` directory to `59997:59997`
and chmod any existing `postgresql` directory to `59996:59996`)
* RabbitMQ subchart `consumer_timeout` set to `144000000`, to prevent the indexer from timing out
when indexing large datasets
* Solr and Zookeeper subchart default Persistent Volume size increased to 100Gi.


## Release Notes for Helm Chart 1.1.1

Setting up a Token and Optional CA certificate for Indexer Access

**IMPORTANT:** In order for Metacat 3.0.0 to function correctly, the
dataone-indexer needs a valid authentication token, to enable
indexing for private datasets, via calls to metacat's DataONE API.

Release date: 2024-07-25

> Note the helm chart is a beta feature. It has been tested, and we believe it to be working well,
Expand Down Expand Up @@ -75,10 +141,10 @@ Also in this release:
we recommend caution with this early release. If you try it, [we'd love to hear your
feedback](https://www.dataone.org/contact/)!

### Upgrade Notes (2.19.0 to 3.0.0):
### Upgrade Notes (2.19.0 to 3.0.0 or above):

- Starting Requirements:
- Your existing Metacat installation must already have been successfully upgraded to [version v2.19.0](https://github.com/NCEAS/metacat/releases/tag/2.19.0) before you can begin upgrading to version 3.0.0.
- Your existing Metacat installation must already have been successfully upgraded to [version v2.19.0](https://github.com/NCEAS/metacat/releases/tag/2.19.0) before you can begin upgrading to version 3.0.0 or above.
- If not, please upgrade to v2.19.0 first, before proceeding.
- You must have Java 17 installed
- If it is not installed, please install it and set it as the default version
Expand All @@ -93,15 +159,11 @@ Also in this release:
- Stop Tomcat - ex. `sudo systemctl stop tomcat9`
- Stop solr - ex. `sudo systemctl stop solr`
- Download/upgrade your solr version to 9.5.0
- Solr upgrade is not supported for 3.0.0 with old cores, you must start with a new core (new solr-home)
- Please use a new Solr home and reindex all objects due to incompatibility between old data and the new Solr schema.
- Example below to reindex all objects
```sh
# curl -X PUT -H "Authorization: Bearer $TOKEN" https://<your-host>/<your-context>/d1/mn/v2/index?all=true
# where $TOKEN is an environment variable containing your indexer token (see overview of major changes above).
# example:
curl -X PUT -H "Authorization: Bearer $TOKEN" https://knb.ecoinformatics.org/knb/d1/mn/v2/index?all=true
```
> NOTE: Solr upgrade from older cores is not supported. Instead, you must choose a new value for
> `solr-home` in the property configuration page, pointing to a new, empty directory. Metacat will
> then create the new solr core without any data. Finally, you will need to reindex all objects
> ***after the upgrade process is done***, due to incompatibility between old data and the new Solr
> schema. ([Instructions below](#you-are-now-ready-to-install-metacat-300).)
- Ensure that `/etc/default/solr.in.sh` is group writable
- ex. `sudo chmod g+w /etc/default/solr.in.sh`
- In `solr.in.sh`, be sure to delete the old solr home add a new solr path:
Expand All @@ -114,12 +176,28 @@ Also in this release:
sudo apt install rabbitmq-server
sudo systemctl restart rabbitmq-server
```
- You are now ready to install Metacat 3.0.0
- Additional notes:
- `metacat.properties` no longer contains custom settings, and should not be edited.
- Please first re-configure Metacat through the Metacat Admin UI after upgrading.
- If you have custom properties that are not available for configuration in the Metacat Admin UI, these can be added to `metacat-site.properties`.
- The database upgrade process may require several minutes or longer to complete.

#### You are now ready to install Metacat 3.0.0!
Additional notes:
- `metacat.properties` no longer contains custom settings, and should not be edited.
- Please first re-configure Metacat through the Metacat Admin UI after upgrading.
- If you have custom properties that are not available for configuration in the Metacat Admin UI, these can be added to `metacat-site.properties`.
- The database upgrade process may require several minutes or longer to complete.
- **Solr Re-Index:** as mentioned above, Solr upgrade of old cores is not supported. You should have a new, empty
solr core available, and can now reindex all objects:
- first, a metacat administrator should obtain a temporary auth token by [logging into the KNB
website with their ORCID](https://knb.ecoinformatics.org), and navigating to "My Profile" ->
"Settings" -> "Authentication Token".
> Note - each token is only valid for 24 hours!
- then issue the command to reindex all:
```sh
$ curl -X PUT -H "Authorization: Bearer $TOKEN" https://<your-host>/<your-context>/d1/mn/v2/index?all=true
# where $TOKEN is an environment variable containing your auth token (see overview of major changes above).
#
# example:
# curl -X PUT -H "Authorization: Bearer $TOKEN" https://knb.ecoinformatics.org/knb/d1/mn/v2/index?all=true
```


### New Features & Enhancements:

Expand Down
4 changes: 2 additions & 2 deletions build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

#Version of this build. This needs to be a dotted numeric version. For
#instance 1.9.1 is okay. 1.9.1_rc1 is not.
metacat.version=3.0.0
metacat.version=3.1.0

# Release tag for the version of metacatui to bundle with this release
# Find the latest version here: https://nceas.github.io/metacatui/install/
metacatui.tag=2.28.0
metacatui.tag=2.31.0

# java source code version and target version for java compilation
java.target=17
Expand Down
4 changes: 4 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@
<sequential>
<git command="clone">
<args>
<arg value="-b"/>
<arg value="@{refname}"/>
<arg value="--depth"/>
<arg value="1"/>
<arg value="@{repository}"/>
<arg value="@{dest}"/>
</args>
Expand Down
32 changes: 16 additions & 16 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
ARG ENVIRONMENT="prod"

# The first stage is used to select the base image for production, based on the JRE
FROM tomcat:9.0.82-jre17-temurin-jammy AS prod-base
FROM tomcat:9.0.96-jre17-temurin-jammy AS prod-base

# The second stage is used for testing, if needed, based on the JDK
FROM tomcat:9.0.82-jdk17-temurin-jammy AS test-base
FROM tomcat:9.0.96-jdk17-temurin-jammy AS test-base

RUN printf '\n* * * * * * * * * TEST BUILD * * * * * * * * *' \
&& printf '\n* * * * * * * * * TEST BUILD * * * * * * * * *' \
Expand Down Expand Up @@ -36,13 +36,13 @@ ENV USRBINDIR=/usr/local/bin
ENV PATH=${USRBINDIR}:$PATH
ENV DEVTOOLS=${DEVTOOLS}

# Add a user with name 'metacat'
RUN groupadd -g 1000 metacat
RUN useradd -u 1000 -g 1000 metacat
# Add a user with name 'tomcat'
RUN groupadd -g 59997 tomcat
RUN useradd -u 59997 -g 59997 tomcat

## ADD auto-inflates the .tar.gz
ADD "$DISTBIN" /tmp/
ADD "$DISTSRC" /home/metacat/metacat-source/
ADD "$DISTSRC" /home/tomcat/metacat-source/

RUN apt-get update && apt-get install -y --no-install-recommends \
python3-bcrypt \
Expand All @@ -58,9 +58,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
vim \
&& rm -rf /var/lib/apt/lists/ \
&& mv /tmp/metacat.war ${TC_HOME}/webapps \
&& chown -R metacat ${TC_HOME} \
&& mkdir -p /var/metacat && chown metacat:metacat /var/metacat \
&& mkdir -p /home/metacat && chown -R metacat:metacat /home/metacat \
&& chown -R tomcat ${TC_HOME} \
&& mkdir -p /var/metacat && chown tomcat:tomcat /var/metacat \
&& mkdir -p /home/tomcat && chown -R tomcat:tomcat /home/tomcat \
## Tomcat Mods to Extend Allowed Character Set
## - Encoded forward slashes (%2f):
&& echo "org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true" \
Expand All @@ -70,18 +70,18 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
>> ${TC_HOME}/conf/catalina.properties

## Redirect file-based logging to stdout for access logs
COPY --chown=metacat:metacat tomcat.k8s.server.xml ${TC_HOME}/conf/server.xml
COPY --chown=tomcat:tomcat tomcat.k8s.server.xml ${TC_HOME}/conf/server.xml

## Redirect file-based logging for all other logs
COPY --chown=metacat:metacat tomcat.k8s.logging.properties ${TC_HOME}/conf/logging.properties
COPY --chown=tomcat:tomcat tomcat.k8s.logging.properties ${TC_HOME}/conf/logging.properties

COPY --chown=metacat:metacat apply_context.py ${USRBINDIR}/
COPY --chown=metacat:metacat docker-entrypoint.sh ${USRBINDIR}/
COPY --chown=tomcat:tomcat apply_context.py ${USRBINDIR}/
COPY --chown=tomcat:tomcat docker-entrypoint.sh ${USRBINDIR}/

#Run Container as 'metacat'
USER 1000
#Run Container as 'tomcat'
USER 59997:59997

#Set working directory to tomcat's bin dir, to match legacy metacat relative paths
#Set working directory to tomcat's bin dir, to match legacy relative paths
WORKDIR "$TC_HOME"/bin

EXPOSE 8080
Expand Down
14 changes: 7 additions & 7 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ If you wish to build your own version locally, this can be accomplished by first
metacat distribution associated with a given version, and then building the docker image based on
that. Starting in the root directory of the "metacat" repo:

```console
```shell
$ ant clean distbinmc

# ... a very long build process ensues, resulting in a tar.gz file
Expand All @@ -35,14 +35,14 @@ $ ./build.sh -t 3.0.0-no-mcui -v 3.0.0

$ docker image ls

REPOSITORY TAG IMAGE ID CREATED SIZE
ghcr.io/nceas/metacat 3.0.0-no-mcui 8da92210dfc4 1 minute ago 1.09GB
REPOSITORY TAG IMAGE ID CREATED SIZE
ghcr.io/nceas/metacat 3.0.0-no-mcui 8da92210dfc4 1 minute ago 1.09GB
```

You can then [publish the image to GitHub Container Repository (GHCR)](#publish-the-image-to-ghcr).

Finally, the image can then be deployed in a Kubernetes environment - [see the helm chart](..
/helm/README.md). Don't forget to change the image tag in your values.yaml file, to match the one
/helm/README.md). Don't forget to change the image tag in your values.yaml file, to match the one
you used when building the image. In the above example, it would be `3.0.0-no-mcui`; e.g:

```yaml
Expand All @@ -58,7 +58,7 @@ inside the container.

To build the image, starting in the root directory of the "metacat" repo:

```console
```shell
$ ant fulldist

# ... a very long build process ensues, resulting in two tar.gz files
Expand Down Expand Up @@ -99,9 +99,9 @@ available via the GitHub Container Registry (ghcr.io) so that it can be pulled b
image can be pushed to the registry after logging in with a GitHub Personal Access Token (PAT).

Commands for pushing the built image are shown below (note this example assumes the tag is `TEST`,
although it could also be `DEVELOP`, or a version number, such as `3.0.0`):
although it could also be `DEVELOP`, or a version number, such as `3.0.0` or `3.0.0-no-mcui`):

```console
```shell
# first log in:
GITHUB_PAT="your-own-secret-GitHub-Personal-Access-Token-goes-here"
echo $GITHUB_PAT | docker login ghcr.io -u <your-username> --password-stdin
Expand Down
36 changes: 20 additions & 16 deletions docker/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@ set -e
TAG=""
DEFAULT_TAG="DEVELOP"
TEST_TAG="TEST"
MC_VERSION=""
DEFAULT_MC_VERSION="3.0.0"
DEVTOOLS=false
ENVIRONMENT='prod'
DEV_BUILD_OPTS=""
DISTBIN=""
DISTSRC="./README.md"
DEFAULT_MC_VERSION=$(xmllint --xpath \
"string(/*[local-name()='project']/*[local-name()='version'])" ../pom.xml)
if [ -z $DEFAULT_MC_VERSION ]; then
echo "Failed to populate \$DEFAULT_MC_VERSION from ../pom.xml. Exiting..."
exit 1
fi

# Function to display usage
usage() {
Expand Down Expand Up @@ -53,15 +57,15 @@ testmode-info() {
# Parse command-line arguments
while getopts ":t:v:-:" opt; do
case "$opt" in
t) TAG="$OPTARG" ;;
v) MC_VERSION="$OPTARG" ;;
-)
case "${OPTARG}" in
devtools) DEVTOOLS=true ;;
*) usage ;;
esac
;;
?) usage ;;
t) TAG="$OPTARG" ;;
v) MC_VERSION="$OPTARG" ;;
-)
case "${OPTARG}" in
devtools) DEVTOOLS=true ;;
*) usage ;;
esac
;;
?) usage ;;
esac
done

Expand Down Expand Up @@ -136,10 +140,10 @@ if [[ -n $DEV_BUILD_OPTS ]]; then
echo " BUILDING OPTIONS: $DEV_BUILD_OPTS"
fi

docker image build $DEV_BUILD_OPTS \
--tag ghcr.io/nceas/metacat:"$TAG" \
docker image build $DEV_BUILD_OPTS \
--tag ghcr.io/nceas/metacat:"$TAG" \
--build-arg MC_VERSION="$MC_VERSION" \
--build-arg ENVIRONMENT="$ENVIRONMENT" \
--build-arg DISTBIN="$DISTBIN" \
--build-arg DISTSRC="$DISTSRC" \
--build-arg DEVTOOLS="$DEVTOOLS" .
--build-arg DISTBIN="$DISTBIN" \
--build-arg DISTSRC="$DISTSRC" \
--build-arg DEVTOOLS="$DEVTOOLS" .
Loading
Loading