Activity
From 12/16/2011 to 01/14/2012
01/13/2012
- 04:57 PM Revision 6909 (metacat): do NOT generate ORE maps or download data when we do the initial System Metadata generation -- this is deferred until D1 registration.
- 02:25 PM Revision 6908 (metacat): make more generic so that a custom list of IDs can be passed in.
- 02:01 PM Revision 6907 (metacat): check that the resourceMap (based on Id only) does not currently exist in the local metacat when generating OREs
- 01:31 PM Revision 6906 (metacat): insert OR update system metadata -- no need to do an update right after initial insert...
- 01:05 PM Revision 6905 (metacat): call the System Metadata generator during upgrade to 2.0.0
- 11:17 AM Revision 6904 (metacat): In IdentifierManager.updateSystemMetadata(), add a check for invalid system metadata (fields that throw a NullPointerException on access) to ensure that system metadata is populated correctly. Updated calling classes to handle the exception.
- 01:41 AM Revision 6903 (metacat): Fixed formatting to make fixed-width line much shorter so boxes fit on the page.
- 01:19 AM Revision 6902 (metacat): Removing obsoleted Admin Guide -- this guide is now maintained using Sphinx in docs/user/metacat -- the word document and PDF file are now obsolete.
- 01:14 AM Revision 6901 (metacat): Properly initialize the servlet context when starting alternate servlets, which makes sure that the configuration files have been loaded and config properties are available.
- 01:00 AM Revision 6900 (metacat): Removed link to obsolete PDF file.
01/12/2012
- 10:34 PM Revision 6899 (metacat): Modifications to make the build more readily find locally installed versions of
- sphinx-build, and to remove the unneccary 'html' directory; output of
admindoc is now written directly into build/docs. - 06:52 PM Revision 6898 (metacat): Modified build to include documentation in the war file that is generated as
- part of the build, if the 'documentation' target has been run before the
war target. This is not done automatically ... - 06:03 PM Revision 6897 (metacat): Adapted the build to be able to generate the Sphinx Admin Guide, and to
- better handle the copyright for Javadoc generation.
- 06:01 PM Revision 6896 (metacat): Added links to Javadoc. Tuned the layout a bit.
- 04:13 PM Revision 6895 (metacat): Completed first draft of Admin guide chapter on DataONE.
- 01:56 PM Revision 6894 (metacat): Handle SQLExceptions when trying to save system metadata locally.
- 01:56 PM Revision 6893 (metacat): Convert SQLExceptions to RuntimeExceptions for Hazelcast MapStore operations.
- 01:54 PM Revision 6892 (metacat): In IdentifierManager, throw SQLExceptions rather than just logging them, and let them be handled higher up in the stack.
- 01:32 PM Revision 6891 (metacat): use new endpoint/method:
- http://mule1.dataone.org/ArchitectureDocs-current/apis/CN_APIs.html#CNReplication.deleteReplicationMetadata
- 12:18 PM Revision 6890 (metacat): use PUT /obsoletedBy/{pid} for CNCore.setObsoletedBy per our discussion today
- 07:53 AM Revision 6889 (metacat): Keep the hzIdentifiers set in sync with the Metacat systemmetadata table. If entries are added/updated in the hzSystemMetadata map, make sure the identifier is in the set. If (for some administrative reason) the entry is removed, remove the identifier from the set. This usually doesn't happen.
- 07:47 AM Revision 6888 (metacat): When loading all keys from Metacat into the hzSystemMetadata map, also load identifiers into the hzIdentifiers set if they are not already there. Although entries may be evicted from the map, the list of identifiers will remain. The list will have a fairly small memory footprint since it's just identifiers.
- 07:44 AM Revision 6887 (metacat): Add support for the distributed Set of unique identifiers in the storage cluster called 'hzIdentifiers'. This set is a persistent total list of all identifiers (even when entries in the hzSystemMetadata map are evicted). It reflects the state of the identifiers in the postgresql systemmetadata table, but is distributed across the cluster. Add the getIdentifiers() method, which returns the ISet of identifiers.
- 07:38 AM Revision 6886 (metacat): Add the dataone.hazelcast.storageCluster.identifiersSet property that defines the name of the distributed set of unique DataONE identifiers (called 'hzIdentifiers'). This ISet can't be configured in the hazelcast.xml file (only maps and queues can).
01/11/2012
- 07:25 PM Revision 6885 (metacat): Continued authoring the description of DataONE in Metacat. More to come.
- 04:42 PM Revision 6884 (metacat): include new methods needed for replication (in new d1 jars)
- https://redmine.dataone.org/issues/2203
- 01:25 PM Revision 6883 (metacat): add method: setObsoletedBy (https://redmine.dataone.org/issues/2185)
- augement new method: deleteReplicationMetadata
- 11:31 AM Revision 6882 (metacat): remove method: assertRelation
- https://redmine.dataone.org/issues/2158
- 11:24 AM Revision 6881 (metacat): add method: deleteReplicationMetadata
- remove method: assertRelation
update the D1 jars
https://redmine.dataone.org/issues/2187
https://redmine.dataone.org/... - 10:41 AM Revision 6880 (metacat): serialize the Identifier for the systemMetadata being registered
- https://redmine.dataone.org/issues/2204
- 09:39 AM Revision 6879 (metacat): Use a Date with resolution to milliseconds.
01/10/2012
- 07:57 PM Revision 6878 (metacat): Initial outline for DataONE chapter.
- 07:02 PM Revision 6877 (metacat): Added OAI-PMH chapter that was contributed by Duane Costa from LTER.
- 05:04 PM Revision 6876 (metacat): Simplify setReplicationStatus() to not call updateReplicationMetadata() if a replica doesn't exist. Just create it and update the system metadata, which we already have a lock for.
- 05:03 PM Revision 6875 (metacat): Minor null checks to avoid NPEs when calling replicate()
- 05:01 PM Revision 6874 (metacat): Don't throw a NotAuthorized exception in isAdminAuthorized() - just return false.
- 12:12 PM Revision 6873 (metacat): do not download and save remote data resources which are HTML but are not expected to be such (login or info/splash pages before data content).
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522
- 01:06 AM Revision 6872 (metacat): Fixed formatting.
- 01:00 AM Revision 6871 (metacat): Moving Metacat Sphinx RST documentation from docs/dev to docs/user directory.
- 12:42 AM Revision 6870 (metacat): Merged most recent changes from trunk into the RST converted version of the Administrator's Guide. Now the Sphinx/RST version is up to date rlative to the most recent word document, and is now the active copy. The MS Word document will be deprecated and removed. All future changes should be made to the RST version.
01/09/2012
- 05:08 PM Revision 6869 (metacat): Update the CN methods to throw a VersionMismatch where the API changed (where serialVersion is a required parameter). These were previously throwing an InvalidRequest exception.
- Change the exception handling for calls to Hazelcast to catch a RuntimeException (not Exception) so we don't catch ex...
- 04:59 PM Revision 6868 (metacat): Use a Logger instead of System.out for SystemMetadataMap.
01/07/2012
- 06:01 PM Revision 6867 (metacat): Don't lock() on the map.get() in isNodeAuthorized() (this assumes that the CN has queued the task already). Add more lock/unlock debug statements, and fix setReplicationStatus() - I missed a finally statement to unlock the pid.
- 12:39 PM Revision 6866 (metacat): Modify CNReplication methods setReplicationStatus(), updateReplicationMetadata() and setReplicationPolicy() to allow administrative access from a Coordinating Node by calling isAdminAuthorized().
- 12:34 PM Revision 6865 (metacat): Add isAdminAuthorized() to D1NodeService to check if the operation is being requested from a CN. Consult the NodeList from the CN and test the NodeType of the given node and the X509 certificate Subject. Perhaps we should expand this to also check for service-level access in the future.
01/06/2012
- 01:51 PM Revision 6864 (metacat): store D1 configuration properties in the main backup so that they persist between upgrades.
- 12:51 PM Revision 6863 (metacat): In registerSystemMetadata(), lock the pid prior to calling map.containsKey(pid) since a put to the map could occur between the check and the subsequent put().
- 10:45 AM Revision 6862 (metacat): update authoritative member node id when we change it (reconfiguration) and when we initially register as a MN with the CN.
- 09:42 AM Revision 6861 (metacat): add description about what becoming a Member Node entails
- 07:40 AM Revision 6860 (metacat): Correctly deserialize the BaseException subclass in handling calls to setReplicationStatus()
- 07:23 AM Revision 6859 (metacat): Use Lock instead of ILock to be consistent across classes.
01/05/2012
- 06:32 PM Revision 6858 (metacat): After reviewing CNodeService and D1NodeService prompted by Robert comparing the Hazelcast locking with the d1_synchronization locking, I've made a number of changes that will prevent locking problems:
- 1) Multiple methods contained try/catch blocks that would:
try
lock();
catch
throw();
try
put();
catch
throw();
f... - 06:02 PM Revision 6857 (metacat): Converted the metacat-properties chapter to RST format. Still need to merge in
- newer changes from the trunk, as I was accidentally working from the 1.9.4
branch for this whole conversion process. - 02:49 PM Revision 6856 (metacat): only delete replicated data files (server_location != 1)
- 01:37 PM Revision 6855 (metacat): use inherited access control from EML for the data file we download from a remote source
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522
- 01:06 PM Revision 6854 (metacat): Removing unused screenshots that are duplicates of the others in the admin doc.
- 12:53 PM Revision 6853 (metacat): Converted Harvester chapter to RST.
- 12:06 PM Revision 6852 (metacat): download remote data and save locally when it is referenced by an EML package, then include it in the ORE map.
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522
- 12:05 PM Revision 6851 (metacat): remove systemmetadata replication option -- it is no longer a separate document in metacat
01/04/2012
- 11:31 PM Revision 6850 (metacat): Added stub documents for chapters on DataONE and OAI-PMH (to be converted from
- Duane's Word doc).
- 11:23 PM Revision 6849 (metacat): Small word choice change.
- 11:18 PM Revision 6848 (metacat): Improved formatting for index.
- 11:14 PM Revision 6847 (metacat): Added AuthInterface chapter, and a License chapter.
- 10:53 PM Revision 6846 (metacat): Converted Event Logging and Sitemaps chapters to RST.
- 10:41 PM Revision 6845 (metacat): Fixed table layout on geoserver and submission chapters. Converted Replication
- chapter to RST.
- 09:57 PM Revision 6844 (metacat): Completed 'Submission' page conversion, and also converted GeoServer docs to
- RST format.
- 04:07 PM Revision 6843 (metacat): Partial conversion of the accessing and submitting metadata section to RST.
- More coming later.
- 02:48 PM Revision 6842 (metacat): include the EML and data tests in the suite
- 02:38 PM Revision 6841 (metacat): debugging data locking test
- 02:06 PM Revision 6840 (metacat): cannot check for deleted data since it is forever available (archived)
- 01:22 PM Revision 6839 (metacat): Updated the configuration section, converted word doc to RST.
01/03/2012
- 08:02 PM Revision 6838 (metacat): Updated the Installation chapter, coverted to RST.
- 07:32 PM Revision 6837 (metacat): When the requested count in a call to listObjects() is 0, return an empty object list, not a full one. Fixes https://redmine.dataone.org/issues/2122
- 07:30 PM Revision 6836 (metacat): Minor formatting for querySystemMetadata().
- 04:50 PM Revision 6835 (metacat): Updated contributors.
- 04:48 PM Revision 6834 (metacat): Modified index to fix typo.
- 04:46 PM Revision 6833 (metacat): Edited introduction to Metacat admin guide, inserted figure.
- 04:07 PM Revision 6832 (metacat): Screenshots from the Metacat admin guide.
- 03:57 PM Revision 6831 (metacat): Updating Sphinx doc structure in prep for moving metacat admin guide to Sphinx.
- 03:56 PM Revision 6830 (metacat): exapnd permissions on the _exisiting_ access rule not on the permission being checked. (hierarchical permissions)
- 03:38 PM Revision 6829 (metacat): defer to super class member variables
- 11:33 AM Revision 6828 (metacat): Upgrade to Hazelcast-1.9.4.5 to try to solve CLIENT_CONNECTION_LOST problems seen on the Coordinating Node.
- 11:10 AM Revision 6827 (metacat): mark client/servlet API and EarthGrid API as deprecated
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5517
- 10:56 AM Revision 6826 (metacat): upgrade routine to purge empty replicated data files so that they can be re-replicated
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5536
12/29/2011
12/28/2011
- 03:56 PM Revision 6824 (metacat): Use "post" to replace "get" to fix caching issue on IE.
- 03:34 PM Revision 6823 (metacat): Make the display of the schedule table fit the IE browser.
12/22/2011
- 11:51 AM Revision 6822 (metacat): Make sure the local id isn't null when we try to get the object from the local instance.
- 11:16 AM Revision 6821 (metacat): Simplify the error handling, and throw the exception once the CN is updated with the new status.
- 11:13 AM Revision 6820 (metacat): Set the replica status to failed (not invalidated) when we get exceptions trying to read the object bytes. Not much of a difference, but only the CN, in theory, is supposed to be able to set the invalidated status.
- 11:07 AM Revision 6819 (metacat): Set the replication status to invalidated when we have a localId, but getting the object bytes fails for any reason.
- 10:51 AM Revision 6818 (metacat): Only call super.create() if there's no localId found on the MN (ie a replica is there from an out of band process).
- 10:40 AM Revision 6817 (metacat): Get the object inputstream from the local metacat instance using MetacatHandler.get() rather than MN.getReplica() so we don't throw an InvalidToken exception when passing in a null Session. The D1Client object is never used for this local call.
- 09:24 AM Revision 6816 (metacat): interpret permissions as hierarchical
- https://redmine.dataone.org/issues/2150
12/21/2011
- 01:50 PM Revision 6815 (metacat): Use submitLoginFormIntoDivAndReload to replace submitLoginFormIntoDiv js function.
- 01:00 PM Revision 6814 (metacat): remove flag for independent system metadata replication -- these entries are replicated along with the data/metadata objects or via hazelcast when the actual object is not on the server.
- 12:33 PM Revision 6813 (metacat): update documentation to reflect changes to replication (client certificate)
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5516
- 10:52 AM Revision 6812 (metacat): include SSL settings for client certificate-based replication
12/20/2011
- 05:13 PM Revision 6811 (metacat): do not include the "v1" in the base url for the target MN
- 12:19 PM Revision 6810 (metacat): New D1 jars with a minor CNode.setReplicationStatus() bugfix.
- 11:29 AM Revision 6809 (metacat): The kar id will have version number.
- 11:25 AM Revision 6808 (metacat): process the _current_ revision, not the latest!
- use direct object/system metadata insertion for ORE maps.
- 11:21 AM Revision 6807 (metacat): allow other Metacat process (system metadata and ORE generation) to directly insert objects and system metadata without having to go through the MN/CN methods.
- 11:19 AM Revision 6806 (metacat): sort the docids so that "old" revisions are processed before newer ones
12/19/2011
- 01:07 PM Revision 6805 (metacat): only attempt to unlock a lock if it was created (in the finally block)
- 12:56 PM Revision 6804 (metacat): update tests to comply with these chenages:
- new jars with many changes -- including new CN methods: ping, describe, listChecksumAlgorithm. Removed MN.setAccessPo...
12/16/2011
- 04:24 PM Revision 6803 (metacat): new jars with many changes -- including new CN methods: ping, describe, listChecksumAlgorithm. Removed MN.setAccessPolicy. Refactored CN.setOwner() to CN.setRightsHolder().
- 12:21 PM Revision 6802 (metacat): refresh the SystemMetadata entry for EML and referenced data files when parsing EML access rules -- this ensures our in-memory system metadata map is up to date WRT the DB entries.
- 11:37 AM Revision 6801 (metacat): Using a branch name for the utilities project. This branch is a copy of the trunk and it uses the BSD license.
- We will move this branch to a tag soon.
- 11:00 AM Revision 6800 (metacat): add revision history to the generated ORE objects -- we use the revision history of the EML package as a basis because the each ORE revision mirrors the revision of the EML package.
- Add a placeholder for checking if an equivalent ORE map exists in the DataONE infrastructure - this will be a call to...
- 09:56 AM Revision 6799 (metacat): Update the parameter names expected for listObjects() to reflect the MN API changes in the architecture docs.
- 09:44 AM Revision 6798 (metacat): Change the query semantics such that we implement the MN.listObjects() where the lower datetime bound is inclusive (greater than or equal to" and the upper datetime bound in exclusive (less than). This allows easier paging in client applications.
- 09:42 AM Revision 6797 (metacat): for test to compile, provide BaseException param for setReplicationStatus. I used a NotAuthorized instance.
- 09:37 AM Revision 6796 (metacat): adjust after refactoring tests that use EML queries
- 07:42 AM Revision 6795 (metacat): In the call to MNReplication.replicate(), call back to CNReplication.setReplicationStatus() and set the status to failed when we get local exceptions, exceptions from the source MN when calling getReplica(). Send back an exception with a description when setting the status. Add a private setReplicationStatus() method to refactor these calls out.
- 07:36 AM Revision 6794 (metacat): Modify CNresourceHandler.setReplicationStatus() to use the new API signature, including the failure BaseException that is parsed out of the MMP as a file section. Log the exception message. Since this is an asynchronous call, ReplicationManager won't see a failed status, but the MNAuditTask eventually will.
- 07:32 AM Revision 6793 (metacat): Add collectReplicationStatus() to CNResourcHandler to return the BaseException or it's subclass, if any, provided in the the call to setReplicationStatus. The exception will be reported on the CN.
- 07:29 AM Revision 6792 (metacat): Change setReplicationStatus() to drop serialVersion and report the failure exception message in the CN log.
- 07:13 AM Revision 6791 (metacat): Add new D1 jars with update CNreplication API changes to SetReplicationStatus().
Also available in: Atom