From 11/04/2012 to 12/03/2012


02:25 PM Revision 7454 (metacat): Do not set headers until response is ready to send (5756)
Brendan Hahn
02:06 PM Bug #5756 (Resolved): Export operation handles errors incorrectly
metacatHandler.handleExportAction doesn't reset the Content-Disposition header on error; result is e.g. a browser dow... Brendan Hahn
12:43 PM Revision 7453 (metacat): use jar generated from the git repo source (just in case it was different from svn).
ben leinfelder
12:30 PM Revision 7452 (metacat): use dual query for query slicing - one for count, another for the actual records when requested. ben leinfelder
11:32 AM Revision 7451 (metacat): get total (or subtotal when non-slicing params are present) count as a separate query from the field selection query.
ben leinfelder
10:16 AM Revision 7450 (metacat): include Skye's suggestions about correctly limiting by D1 Event types
ben leinfelder
07:55 AM Bug #5755: Include EZID api library in Metacat for registering DOIs.
This is in Metacat now, pulling from the configured shoulder and username/password we had added for the initial KNB D... ben leinfelder


11:53 AM Revision 7449 (metacat): use test doi shoulder as the default for local server, at least during testing phase.
ben leinfelder
08:58 AM Revision 7448 (metacat): first pass at DOI minting using the EZID service in mn.generateIdentifier() ben leinfelder


05:19 PM Revision 7447 (metacat): Fix a minor bug in listObjects() where total was set incorrectly when total was set incorrectly when count=0. The definition of total in the D1 architecture docs says 'The total number of entries in the source list from which the slice was extracted.' With count=0, we assume the total is the total count from the entire object store. Needs testing.
Chris Jones
04:41 PM Bug #5755: Include EZID api library in Metacat for registering DOIs.
The library report has been moved to github because a bunch of people wanted to use it there. So, see:
Matt Jones


03:54 PM Bug #5755 (Resolved): Include EZID api library in Metacat for registering DOIs.
Repo is
and it builds a jar.
ben leinfelder
03:23 PM Revision 7446 (metacat): remove empty package
ben leinfelder
03:11 PM Bug #5753: Implement mn.generateIdentifier()
There's now a very basic identifier generation method. You can pass it any scheme (ignored) and an optional fragment.... ben leinfelder
11:07 AM Bug #5753: Implement mn.generateIdentifier()
Yeah, this is the reason i got an error when I called the method :( Jing Tao
11:03 AM Bug #5753 (Resolved): Implement mn.generateIdentifier()
I hadn't realized there wasn't any impl for this in MNodeService yet. ben leinfelder
02:53 PM Revision 7445 (metacat): rollback the delete() when there is an error performing part of it -- don't want to end up with partial delete.
ben leinfelder
02:27 PM Revision 7444 (metacat): use Identifier object not String when retrieving SM from the HZ map to set archived during delete()
ben leinfelder
12:17 PM Revision 7443 (metacat): for MN.update() we needed to pass the original pid, not the new pid
ben leinfelder
10:49 AM Revision 7442 (metacat): do not reject any schemes -- all handled the same at the moment.
ben leinfelder
10:23 AM Revision 7441 (metacat): simple autogen-based implementation of MN.generateIdentifier(). does not support DOIs, ARKs, etc. It does support including a fragment, returning an identifier like "<fragment>.2012113010215298206"
ben leinfelder
04:54 PM Revision 7440 (metacat): add link for reference on how to do record limits in oracle
ben leinfelder
04:52 PM Revision 7439 (metacat): limit /log and /object calls to configurable maximum count for paging. defaults to existing Metacat value of 7000
ben leinfelder
04:33 PM Revision 7438 (metacat): use RDBMS-specific features to limit the resultset for paging the object list -- postgres and oracle have implementations. we don''t really support mssql so I skipped that one.
ben leinfelder
04:12 PM Revision 7437 (metacat): use RDBMS-specific features to limit the resultset for paging -- postgres and oracle have implementations. we don''t really support mssql so I skipped that one.
ben leinfelder


01:53 PM Revision 7436 (metacat): Add the latest SNAPSHOT build of the hazelcast jars built by robert at:
Chris Jones


02:54 PM Revision 7435 (metacat): Update the hazelcast libraries based on the most recent build from the hazelcast trunk using patches that robert submitted via git pull requests.
Chris Jones
02:29 PM Bug #5750: Index queue and delete action can conflict with one another
There's now a call to remove the indexing queue task for a docid that is being deleted. ben leinfelder
11:03 AM Bug #5750 (Resolved): Index queue and delete action can conflict with one another
During DataONE CN replication testing, Chris was seeing delete/archive actions fail due to dangling FKs in the xml_in... ben leinfelder
02:28 PM Revision 7434 (metacat): include debug msg about removing docid from index queue.
ben leinfelder
02:25 PM Revision 7433 (metacat): remove document from the indexing queue when delete is called.
ben leinfelder
01:50 PM Revision 7432 (metacat): clean up index queue code before tackling index/delete race condition.
ben leinfelder


10:14 AM Revision 7431 (metacat): additional release notes about archive/delete behavior and HZ upgrade
ben leinfelder
10:02 AM Revision 7430 (metacat): no need to mark SM as archived now that DocumentImpl.delete() does it. ben leinfelder
10:00 AM Revision 7429 (metacat): mark documents as archived=true when they are deleted using the Metacat API. ben leinfelder


04:35 PM Revision 7428 (metacat): look up the archived value when retrieving SystemMetadata record. ben leinfelder


04:03 PM Revision 7427 (metacat): surround returned query in CDATA to prevent parsing of xml within xml
ben leinfelder


10:35 AM Revision 7426 (metacat): Update the two hazelcast jars to 2.4.1-SNAPSHOT versions that Robert generated after fixing certain hazelcast build problems.
Chris Jones


01:25 PM Revision 7425 (metacat): correct the help anchors.
ben leinfelder
11:57 AM Revision 7424 (metacat): use sleeker "?" icon for the admin help links
ben leinfelder
11:28 AM Revision 7423 (metacat): correct the "?" links in the admin pages to the docs pages that are deployed as part of metacat.
ben leinfelder


03:35 PM Revision 7422 (metacat): In migrating to Hazelcast 2.4.x, replace deprecated methods.
Chris Jones
03:34 PM Revision 7421 (metacat): In migrating to Hazelcast 2.4.x, replace deprecated methods. Use Hazelcast.newHazelcastInstance() rather than Hazelcast.init(). For other deprecated static methods, use the HazelcastInstance equivalent calls.
Chris Jones


10:57 AM Revision 7420 (metacat): In CNodeService.updateReplicationMetadata(), we are setting the replicaVerifiedDate() when we update or wholesale add a new replica. However, in setReplicationStatus(), we only do so when there's a new entry. Change setReplicationStatus() to also update the replicaVerifiedDate on updates of existing entries to be more consistent with other changes. This affects node prioritization based on this date timestamp. Thanks to Skye for pointing this out.
Chris Jones
08:56 AM Revision 7419 (metacat): To attempt to address performance and stability WRT Hazelcast communication, we're upgrading to the 2.x series of Hazelcast. remove the 1.9.x jar files, and add the 2.4.1-SNAPSHOT jars. Modify HazelcastService to handle the minor change in the ItemListener interface (now passes ItemEvent<Identifier> as an argument).
Many methods have been deprecated from the Hazelcast class, including init(), and so those changes will be addressed ... Chris Jones


04:27 PM Revision 7418 (metacat): implement query description for pathquery -- only tells callers about the pre-indexed paths we have in Metacat since there are an infinite number of "fields" when storing arbitrary XML, but we really don't want people using non-indexed paths for performance reasons anyway. I've typed all the fields as String, even though some are not just strings and can be used for numeric or data comparisons.
ben leinfelder


02:53 PM Revision 7417 (metacat): Implement MNQuery for "pathquery" engine. Optionally include guid in the pathquery results (
ben leinfelder


09:15 AM Revision 7416 (metacat): update pub_date when the length of that field is != 4 (use date_created in this scenario). There were 2 entries that had "193" as the pub_date.
ben leinfelder

Also available in: Atom