Project

General

Profile

Activity

From 01/05/2012 to 02/03/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...
ben leinfelder
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.
Matt Jones
02:17 PM Revision 6975 (metacat): use plain String parameter for {pid} instead of XML serialization of it.
ben leinfelder
11:23 AM Revision 6974 (metacat): remove {pid} from POST URL on CN.registerSystemMetadata()
https://redmine.dataone.org/issues/2284 ben leinfelder
11:15 AM Revision 6973 (metacat): remove {pid} from POST URL on CN.create()
https://redmine.dataone.org/issues/2284 ben leinfelder
11:10 AM Revision 6972 (metacat): remove {pid} from POST URL on MN.create()
https://redmine.dataone.org/issues/2284 ben leinfelder

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
ben leinfelder
03:52 PM Revision 6970 (metacat): create system metadata object if it wasn't found in HZ
ben leinfelder
03:02 PM Revision 6969 (metacat): adjust the width of the label suffix.
Jing Tao
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.
ben leinfelder

01/31/2012

03:43 PM Revision 6967 (metacat): Adjust the column width of the search result.
Jing Tao

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) ben leinfelder
02:44 PM Revision 6965 (metacat): use File.deleteOnExit() not a half hour timer thread to do it.
ben leinfelder

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?) ben leinfelder
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
ben leinfelder
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 ben leinfelder

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
ben leinfelder
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
ben leinfelder
09:34 PM Revision 6959 (metacat): test harness for running system metadata generation outside of the upgrade process
ben leinfelder
02:20 PM Revision 6958 (metacat): include comment about KNB estimated time to run during upgrade:
Total time: 20 minutes 58 seconds ben leinfelder
12:48 PM Revision 6957 (metacat): only attempt to update date-like nodedata values.
ben leinfelder
10:49 AM Revision 6956 (metacat): use "test" to exercise upgrade code on staging DB.
ben leinfelder
10:03 AM Revision 6955 (metacat): include generate system metadata upgrade in the success flag
ben leinfelder
10:02 AM Revision 6954 (metacat): more clean up - reuse prepared statement for data update
ben leinfelder
08:40 AM Revision 6953 (metacat): look up nodedata values first, then update each one - trying to avoid out of memory exception.
ben leinfelder

01/25/2012

03:50 PM Revision 6952 (metacat): eliminate the cross product that occurred when updating xml_access with a join
ben leinfelder
07:41 AM Revision 6951 (metacat): rollback processing Error change -- creates a loop on error. ugh
ben leinfelder

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.
ben leinfelder
10:47 PM Revision 6949 (metacat): semicolons!
ben leinfelder
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.
Chris Jones
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....
ben leinfelder
12:20 PM Revision 6946 (metacat): do not insert duplicate GUID entries when adding rows from the xml_revisions table
ben leinfelder
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)
ben leinfelder
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 ben leinfelder

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 ben leinfelder
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.
Chris Jones
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.
Chris Jones
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 ben leinfelder
02:44 PM Revision 6939 (metacat): Add the dataone.contactSubject property to be used when getCapabilities() returns the MN node instance.
Chris Jones
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.
Chris Jones
02:37 PM Revision 6937 (metacat): format xml/eml table -- added missing row delimiter
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5516 ben leinfelder
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 ben leinfelder
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.
ben leinfelder
11:08 AM Revision 6934 (metacat): use RC-1 Dataone jars
ben leinfelder

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.
Matt Jones
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.
Matt Jones
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)
ben leinfelder
02:35 PM Revision 6930 (metacat): add note to enable ssl mod
ben leinfelder
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!)
ben leinfelder
11:08 AM Revision 6928 (metacat): include instructions for installing Sun's Java6 JDK since it is no longer in apt-get repos
ben leinfelder
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.
Chris Jones

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. Matt Jones
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 ben leinfelder
03:16 PM Revision 6924 (metacat): update system requirements to be more reasonable
ben leinfelder

01/18/2012

04:18 PM Revision 6923 (metacat): use larger ("text") db field for guid in the xml_access.accessfileid column
ben leinfelder
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 ben leinfelder
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 ben leinfelder

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
ben leinfelder
04:21 PM Revision 6919 (metacat): Use the Collections class from java.util.
Chris Jones
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.
Chris Jones
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.
Chris Jones
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.
Chris Jones
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 ben leinfelder
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 ben leinfelder
01:57 PM Revision 6913 (metacat): use final tag for building with ecogrid
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5532 ben leinfelder
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...
ben leinfelder
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 ben leinfelder
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.
Chris Jones

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.
ben leinfelder
02:25 PM Revision 6908 (metacat): make more generic so that a custom list of IDs can be passed in.
ben leinfelder
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
ben leinfelder
01:31 PM Revision 6906 (metacat): insert OR update system metadata -- no need to do an update right after initial insert...
ben leinfelder
01:05 PM Revision 6905 (metacat): call the System Metadata generator during upgrade to 2.0.0
ben leinfelder
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.
Chris Jones
01:41 AM Revision 6903 (metacat): Fixed formatting to make fixed-width line much shorter so boxes fit on the page.
Matt Jones
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.
Matt Jones
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.
Matt Jones
01:00 AM Revision 6900 (metacat): Removed link to obsolete PDF file.
Matt Jones

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.
Matt Jones
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 ...
Matt Jones
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. Matt Jones
06:01 PM Revision 6896 (metacat): Added links to Javadoc. Tuned the layout a bit.
Matt Jones
04:13 PM Revision 6895 (metacat): Completed first draft of Admin guide chapter on DataONE.
Matt Jones
01:56 PM Revision 6894 (metacat): Handle SQLExceptions when trying to save system metadata locally.
Chris Jones
01:56 PM Revision 6893 (metacat): Convert SQLExceptions to RuntimeExceptions for Hazelcast MapStore operations.
Chris Jones
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.
Chris Jones
01:32 PM Revision 6891 (metacat): use new endpoint/method:
http://mule1.dataone.org/ArchitectureDocs-current/apis/CN_APIs.html#CNReplication.deleteReplicationMetadata ben leinfelder
12:18 PM Revision 6890 (metacat): use PUT /obsoletedBy/{pid} for CNCore.setObsoletedBy per our discussion today
ben leinfelder
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.
Chris Jones
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.
Chris Jones
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.
Chris Jones
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).
Chris Jones

01/11/2012

07:25 PM Revision 6885 (metacat): Continued authoring the description of DataONE in Metacat. More to come.
Matt Jones
04:42 PM Revision 6884 (metacat): include new methods needed for replication (in new d1 jars)
https://redmine.dataone.org/issues/2203 ben leinfelder
01:25 PM Revision 6883 (metacat): add method: setObsoletedBy (https://redmine.dataone.org/issues/2185)
augement new method: deleteReplicationMetadata ben leinfelder
11:31 AM Revision 6882 (metacat): remove method: assertRelation
https://redmine.dataone.org/issues/2158 ben leinfelder
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/...
ben leinfelder
10:41 AM Revision 6880 (metacat): serialize the Identifier for the systemMetadata being registered
https://redmine.dataone.org/issues/2204 ben leinfelder
09:39 AM Revision 6879 (metacat): Use a Date with resolution to milliseconds.
Chris Jones

01/10/2012

07:57 PM Revision 6878 (metacat): Initial outline for DataONE chapter.
Matt Jones
07:02 PM Revision 6877 (metacat): Added OAI-PMH chapter that was contributed by Duane Costa from LTER.
Matt Jones
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.
Chris Jones
05:03 PM Revision 6875 (metacat): Minor null checks to avoid NPEs when calling replicate()
Chris Jones
05:01 PM Revision 6874 (metacat): Don't throw a NotAuthorized exception in isAdminAuthorized() - just return false.
Chris Jones
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 ben leinfelder
01:06 AM Revision 6872 (metacat): Fixed formatting.
Matt Jones
01:00 AM Revision 6871 (metacat): Moving Metacat Sphinx RST documentation from docs/dev to docs/user directory.
Matt Jones
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.
Matt Jones

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... Chris Jones
04:59 PM Revision 6868 (metacat): Use a Logger instead of System.out for SystemMetadataMap.
Chris Jones

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.
Chris Jones
12:39 PM Revision 6866 (metacat): Modify CNReplication methods setReplicationStatus(), updateReplicationMetadata() and setReplicationPolicy() to allow administrative access from a Coordinating Node by calling isAdminAuthorized().
Chris Jones
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.
Chris Jones

01/06/2012

01:51 PM Revision 6864 (metacat): store D1 configuration properties in the main backup so that they persist between upgrades.
ben leinfelder
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().
Chris Jones
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.
ben leinfelder
09:42 AM Revision 6861 (metacat): add description about what becoming a Member Node entails
ben leinfelder
07:40 AM Revision 6860 (metacat): Correctly deserialize the BaseException subclass in handling calls to setReplicationStatus()
Chris Jones
07:23 AM Revision 6859 (metacat): Use Lock instead of ILock to be consistent across classes.
Chris Jones

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...
Chris Jones
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.
Matt Jones
02:49 PM Revision 6856 (metacat): only delete replicated data files (server_location != 1)
ben leinfelder
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 ben leinfelder
01:06 PM Revision 6854 (metacat): Removing unused screenshots that are duplicates of the others in the admin doc.
Matt Jones
12:53 PM Revision 6853 (metacat): Converted Harvester chapter to RST.
Matt Jones
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 ben leinfelder
12:05 PM Revision 6851 (metacat): remove systemmetadata replication option -- it is no longer a separate document in metacat
ben leinfelder
 

Also available in: Atom