Activity
From 01/06/2012 to 02/04/2012
02/02/2012
- 05:15 PM Revision 6977 (metacat): do not shutdown hazelcast -- it needs to be running after the upgrade process so that Metacat actually works.
- I think the newer version of HZ makes it so the threads are all released as needed.
http://bugzilla.ecoinformatics.or... - 03:17 PM Revision 6976 (metacat): Commenting out the parts of the upgrade script that started to refer to EXID. At this point, the registration of EZID identifiers will be done out-of-band with respect to the upgrade.
- 02:17 PM Revision 6975 (metacat): use plain String parameter for {pid} instead of XML serialization of it.
- 11:23 AM Revision 6974 (metacat): remove {pid} from POST URL on CN.registerSystemMetadata()
- https://redmine.dataone.org/issues/2284
- 11:15 AM Revision 6973 (metacat): remove {pid} from POST URL on CN.create()
- https://redmine.dataone.org/issues/2284
- 11:10 AM Revision 6972 (metacat): remove {pid} from POST URL on MN.create()
- https://redmine.dataone.org/issues/2284
02/01/2012
- 04:09 PM Revision 6971 (metacat): catch cases where the previous/next revision of objects have not had system metadata generated yet
- 03:52 PM Revision 6970 (metacat): create system metadata object if it wasn't found in HZ
- 03:02 PM Revision 6969 (metacat): adjust the width of the label suffix.
- 09:44 AM Revision 6968 (metacat): process systemMetadata from the docInfo string _before_ writing to the database so that we guarantee guid-docid mapping exists before attempting to look it up.
01/31/2012
01/30/2012
- 02:49 PM Revision 6966 (metacat): upgrade to hazelcast 1.9.4.6 so that threadpools are released when not needed (http://code.google.com/p/hazelcast/issues/detail?id=765).
- include ant target to run a specific main class (mostly for debugging)
- 02:44 PM Revision 6965 (metacat): use File.deleteOnExit() not a half hour timer thread to do it.
01/27/2012
- 05:15 PM Revision 6964 (metacat): multithreaded implementation for processing docids for system metadata generation.
- need to investigate ant/junit running that deadlocks hazelcast (config?)
- 05:12 PM Revision 6963 (metacat): additional logging of the config file being used - seem to have thread locking on the xmlConfig use when running under ant/junit
- 10:53 AM Revision 6962 (metacat): calculate object size using the size on the file system rather than re-reading as an input stream.
- Now only EML document bytes will be read twice: once for the checksum and again for parsing out datapackage details
01/26/2012
- 11:14 PM Revision 6961 (metacat): system metadata generation optionally skips entries that have already been generated (data size, checksum) but allows the latest EML that describes them to have the last word on object format
- 09:35 PM Revision 6960 (metacat): remove DML for parsing -- the D1 EML parser still uses DOM, so this may not be too big of a perfromance improvement
- 09:34 PM Revision 6959 (metacat): test harness for running system metadata generation outside of the upgrade process
- 02:20 PM Revision 6958 (metacat): include comment about KNB estimated time to run during upgrade:
- Total time: 20 minutes 58 seconds
- 12:48 PM Revision 6957 (metacat): only attempt to update date-like nodedata values.
- 10:49 AM Revision 6956 (metacat): use "test" to exercise upgrade code on staging DB.
- 10:03 AM Revision 6955 (metacat): include generate system metadata upgrade in the success flag
- 10:02 AM Revision 6954 (metacat): more clean up - reuse prepared statement for data update
- 08:40 AM Revision 6953 (metacat): look up nodedata values first, then update each one - trying to avoid out of memory exception.
01/25/2012
- 03:50 PM Revision 6952 (metacat): eliminate the cross product that occurred when updating xml_access with a join
- 07:41 AM Revision 6951 (metacat): rollback processing Error change -- creates a loop on error. ugh
01/24/2012
- 10:55 PM Revision 6950 (metacat): report processing errors _after_ exceptions have been caught and recorded, otherwise the web UI is blank and there is no clue what happened unless you look in the logs.
- 10:47 PM Revision 6949 (metacat): semicolons!
- 04:32 PM Revision 6948 (metacat): fix a bug in MNodeService.replicate() where the checksum value was being compared to the computed checksum object, not its value.
- 04:22 PM Revision 6947 (metacat): use a temporary table to calculate the maximum revision for a given docid and use that when setting the accessfileid during upgrade. the query plan for the all-in-one statement must be brutal as it's been running for 4 hours at this point....
- 12:20 PM Revision 6946 (metacat): do not insert duplicate GUID entries when adding rows from the xml_revisions table
- 11:57 AM Revision 6945 (metacat): add "IF EXISTS" clause to identifier table drop in case it does not exist on the given deployment (as is the case on the KNB)
- 10:35 AM Revision 6944 (metacat): use UTC serialization for log entries so that the timestamp, not just the date, is preserved
- https://redmine.dataone.org/issues/2257
01/23/2012
- 03:52 PM Revision 6943 (metacat): edited the configuration docs, swapped in new fully-configured screen shot
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5516
- 03:36 PM Revision 6942 (metacat): Update the MNodeServiceTest to test the validity of the node document returned by getCapabilities() by parsing it with the TypeMarshaller.
- 03:09 PM Revision 6941 (metacat): Update the D1Admin class to set the dataone.contactSubject property. I've added the property to the http request to be added to the JSP form, but for now am setting the property using the dataone.subject field value. Not sure if we want to expose the contact subject in the form yet or not.
- 02:48 PM Revision 6940 (metacat): marked the properties that are only editable manually in metacat.properties
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5516
- 02:44 PM Revision 6939 (metacat): Add the dataone.contactSubject property to be used when getCapabilities() returns the MN node instance.
- 02:43 PM Revision 6938 (metacat): In MN.getCapabilities(), the required contact subject was not being added to the node instance from the dataone properties. Add it in.
- 02:37 PM Revision 6937 (metacat): format xml/eml table -- added missing row delimiter
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5516
- 02:33 PM Revision 6936 (metacat): some minimal editing on replication configuration -- bulk of it had been done in the Word doc before rst conversion
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5516
- 12:53 PM Revision 6935 (metacat): generate ORE maps only once -- and persist the flag to the main backup properties so that subsequent Metacat upgrades remember this value.
- 11:08 AM Revision 6934 (metacat): use RC-1 Dataone jars
01/20/2012
- 10:46 PM Revision 6933 (metacat): Added DOI generation to the 2.0.0 upgrade process. To succeed, this script must be run on a fresh 2.0.0 database, or on a 1.9.5 version database, as those are the only ways to get the needed foreign keys to be marked as deferrable. The identifier conversion must be turned on by setting correct properties in metacat.properties. See the comments in GenerateGlobalIdentifiers for details. By default, conversion is set to false in the properties file. If you want to convert an instance to use DOIs, be sure to set metacat.properties up BEFORE running through the Metacat configuration and database upgrade.
- 10:38 PM Revision 6932 (metacat): Refactoring classes that throw generic Exception class to throw their more specific subclasses so that new exceptions are not hidden behind generic messages. Makes debugging easier.
- 03:45 PM Revision 6931 (metacat): try to read the local document before making the localid->guid mapping (in cases where we fail to read the data locally like if it is referenced in an EML file but does not exist on this Metacat instance)
- 02:35 PM Revision 6930 (metacat): add note to enable ssl mod
- 12:59 PM Revision 6929 (metacat): -include instructions about enabling AJP connector in Tomcat config
- -use postgres 8.4
-include hint to disable default Apache site (otherwise the knb config never gets used!) - 11:08 AM Revision 6928 (metacat): include instructions for installing Sun's Java6 JDK since it is no longer in apt-get repos
- 10:14 AM Revision 6927 (metacat): Ensure we have the object and sysmeta params for MN.create(). We were getting a fatal SAX parsing error encapsulated in a ServiceFailure when a science metadata object param was null. Cut it off at the pass after parsing the MMP entity.
01/19/2012
- 04:02 PM Revision 6926 (metacat): An example python script that uses the python client to loop through a list of
- files, read them from disk, and insert them into metacat.
- 03:32 PM Revision 6925 (metacat): make it clear that the Apache config files are samples and may need to be modified for different servers
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5516
- 03:16 PM Revision 6924 (metacat): update system requirements to be more reasonable
01/18/2012
- 04:18 PM Revision 6923 (metacat): use larger ("text") db field for guid in the xml_access.accessfileid column
- 11:05 AM Revision 6922 (metacat): use EML 2.1.1 tag as final tag for the schema
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5532
- 10:40 AM Revision 6921 (metacat): use RELEASE_EML_UTILS_1_0_0 for EML style sheets
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5532
01/17/2012
- 04:31 PM Revision 6920 (metacat): comment our the Demis world map layer -- it was prompting for username/password to use the WMS
- 04:21 PM Revision 6919 (metacat): Use the Collections class from java.util.
- 03:20 PM Revision 6918 (metacat): Remove null field tests in the IdentifierManager class. Schema-level required fields are checked on serialization/deserialization using JibX during the REST resource handler classes. Other required fields are checked in MNodeService and CNodeService, higher in the stack.
- 03:17 PM Revision 6917 (metacat): For MNs that haven't set the archived flag to false on create(), set it here. Also, ensure that the CN sync code sets the authoritative and origin member node fields.
- 03:15 PM Revision 6916 (metacat): On MN.create(), set the archived flag to be false. This field isn't required in the schema, but is needed by the DataONE indexer once objects are sync'd.
- 02:28 PM Revision 6915 (metacat): use EML 2.1.1 RC4 tag before final tag (schema)
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5532
- 02:21 PM Revision 6914 (metacat): use final tag for building with utilities (tags/UTILITIES_1_1_0)
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5532
- 01:57 PM Revision 6913 (metacat): use final tag for building with ecogrid
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5532
- 12:06 PM Revision 6912 (metacat): -generate system meta for all docids, even those not originating on the server (replicas from the past)
- -generate ORE docs and download remote data only for those documents that originated on this server being upgraded.
h... - 11:43 AM Revision 6911 (metacat): refactor generate system meta loop to the factory class -- to be reused in sysmeta and ORE generation
- http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5522
- 11:34 AM Revision 6910 (metacat): When managing obsoletes/obsoletedBy system metadata fields, set the archived flag to false initially, and set it to true on system metadata for objects that a revision obsoletes.
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.
Also available in: Atom