Project

General

Profile

Activity

From 09/03/2011 to 10/02/2011

09/30/2011

06:22 PM Bug #5499: citation format odd for metacat data sets
Inclusion of the institution seems appropriate for a dataset citation. Granted, it is not in journal article citatio... gastil gastil

09/29/2011

11:43 PM Revision 6527 (metacat): Bug fix for access control rules coming in from the dataone system metadata. Previously, the code used getLocalId() to get the docid to insert into the XML access table, but that docid included the revision number (e.g., foo.1.1), which it shouldn't. Now use the AccessionNumber class to strip off the rev to get a real docid for insertion into the table.
Matt Jones

09/28/2011

07:39 PM Bug #5497: metacat accepts eml docs that fail knb parser
This sample EML document is using single quotes around the EML namespace (which should be valid) but Metacat was only... ben leinfelder
07:28 PM Revision 6526 (metacat): allow the XML namespace to be given in both double _and_ single quotes. The regex pattern was only looking for xmlns values that were in double quotes. This was brought to light by LTER:
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5497 ben leinfelder

09/27/2011

09:24 PM Bug #5499 (Resolved): citation format odd for metacat data sets
Submitting on behalf of Gail... I agree with her assesment -- what are we rendering citations this way. Somehow this... Matt Jones

09/26/2011

10:59 PM Revision 6525 (metacat): set date uploaded and date system metadata updated date to current time when calling MN.create() and MN.update()
ben leinfelder
02:46 PM Revision 6524 (metacat): updated d1_common jar (unknown changes)
ben leinfelder
02:45 PM Revision 6523 (metacat): use rfc2253 format when extracting certificate subject
ben leinfelder
12:07 PM Revision 6522 (metacat): do not allow system metadata to have obsoletes or obsoletedBy fields when calling the create() method -- these are only allowed for updates so that we do not subvert object versioning by [un]knowingly submitting system metadata that directs one id to another.
ben leinfelder
11:59 AM Revision 6521 (metacat): set the originating member node on update()
ben leinfelder
11:53 AM Revision 6520 (metacat): set the originating member node on create()
ben leinfelder
11:52 AM Revision 6519 (metacat): -use whatever object format id is stored in the DB
-only set originating node and authoritative node if we have non-null values for them ben leinfelder
11:10 AM Revision 6518 (metacat): set sysmeta submitter based on the subject given in the certificate
ben leinfelder
10:48 AM Revision 6517 (metacat): for default Metacat installation we turn off multicast and only enable localhost communication.
ben leinfelder
09:42 AM Revision 6516 (metacat): skip Objects that have null format ids are invalid checksums
ben leinfelder

09/23/2011

10:18 PM Revision 6515 (metacat): MN.setAccess() is a PUT
ben leinfelder
09:54 PM Revision 6514 (metacat): correctly handle incoming "accessPolicy" parameters for the setAccess() method
ben leinfelder
08:46 PM Revision 6513 (metacat): swap the parameters for update: existing pid should be first, and then newPid
ben leinfelder
02:59 PM Revision 6512 (metacat): Modified cron schedule to fix the incorrect crontab entry.
Matt Jones
01:44 PM Revision 6511 (metacat): do not require ID reservation before create() or update()
ben leinfelder
01:39 PM Revision 6510 (metacat): use "action" parameter instead of "permission"
ben leinfelder
01:38 PM Revision 6509 (metacat): use "action" parameter instead of "permission"
ben leinfelder

09/22/2011

03:57 PM Revision 6508 (metacat): catch datapackage parsing errors as before
ben leinfelder
03:30 PM Revision 6507 (metacat): include checksum algorithm when setting describe
https://redmine.dataone.org/issues/1799 ben leinfelder
03:30 PM Revision 6506 (metacat): check for null session before logging sync failed
https://redmine.dataone.org/issues/1798 ben leinfelder
02:58 PM Revision 6505 (metacat): Fixed the D1 URL to the Coordinating Node that had been missing /cn in the path.
Matt Jones
02:22 PM Revision 6504 (metacat): use an actual data object (bytes of "test") when generating system metadata so that the checksum is a valid checksum
ben leinfelder
02:02 PM Revision 6503 (metacat): use Settings augmentation to customize the D1Client.CN_URL when used in a Metacat deployment.
ben leinfelder
02:01 PM Revision 6502 (metacat): correctly implement MN.describe
https://redmine.dataone.org/issues/1799 ben leinfelder
01:40 PM Revision 6501 (metacat): return Node not NodeList for getCapabilities
https://redmine.dataone.org/issues/1800 ben leinfelder
01:32 PM Revision 6500 (metacat): Use setProperty() instead of addProperty() to properly override the Settings property.
Matt Jones
01:19 PM Revision 6499 (metacat): Modify to set the CN URL before getting a CN instance.
Matt Jones
01:18 PM Revision 6498 (metacat): Updating CN property to use cn-dev.
Matt Jones
10:55 AM Revision 6497 (metacat): Pull the certificate path for dataone certificates from the metacat properties file.
Matt Jones
10:12 AM Revision 6496 (metacat): return null instead of throwing an exception when pid is not found in store
ben leinfelder
10:12 AM Revision 6495 (metacat): log errors on create() and registerSM
ben leinfelder
10:11 AM Revision 6494 (metacat): more stringent NP checking when saving replication policy
ben leinfelder
12:05 AM Revision 6493 (metacat): Register as a MN on the DataONE network as part of the properties setup. This is currently done always, but it needs to be conditional rather than automatically triggered.
Matt Jones
12:03 AM Revision 6492 (metacat): Added subject field to getCapabilities() call.
Matt Jones

09/21/2011

10:05 PM Bug #5497 (Resolved): metacat accepts eml docs that fail knb parser
This is from nis track ticket #325 https://trac.lternet.edu/trac/NIS/ticket/325
Im pasting the below in from that ti...
gastil gastil
07:02 PM Revision 6491 (metacat): Newest D1 0.6.4 jars
Chris Jones
05:45 PM Revision 6490 (metacat): comment out resynch() method until errors are resolved
ben leinfelder
05:25 PM Revision 6489 (metacat): use default hazelcast config when not configured to use an external one
ben leinfelder
05:25 PM Revision 6488 (metacat): Use multicast in the hazelcast config for local deployments.
Chris Jones
05:24 PM Revision 6487 (metacat): comment out the external hazelcast config location for default building
ben leinfelder
05:24 PM Revision 6486 (metacat): include default hazelcast.xml in the war build
ben leinfelder
05:03 PM Revision 6485 (metacat): Add in the hzObjectPath map to the hazelcast config file for a local deployment. Enable the MapStore impl for both maps.
Chris Jones
04:58 PM Revision 6484 (metacat): Don't use the hzNodes map yet (as a hazelcast client). Use D1Client instead to get the node list in isNodeAuthorized().
Chris Jones
04:51 PM Revision 6483 (metacat): For now, remove the hzClient code connecting to the DataONE process cluster to get the hzNodes map. This will be moved into the storage cluster, but use D1Client to get the node list for now.
Chris Jones
04:42 PM Revision 6482 (metacat): A default hazelcast config file for metacat.
Chris Jones
10:54 AM Revision 6481 (metacat): going back to using IDentifier as the key for the ObjectPAthMap.
rnahf

09/20/2011

11:40 PM Revision 6480 (metacat): Removed extraneous comments.
Matt Jones
11:36 PM Revision 6479 (metacat): Add boolean field for synchronization status.
Matt Jones
11:03 PM Revision 6478 (metacat): New default properties for dataone MN properties.
Matt Jones
10:56 PM Revision 6477 (metacat): A configuration section for DataONE Member Node properties.
Matt Jones
10:20 PM Revision 6476 (metacat): Fix getCapabilities to properly throw ServiceFailure when properties can not be read, rather than failing with a log message. Fix properties in the Node object to reflect their correct values. Set the sync schedule properly to default to 5 minute intervals. Improve documentation.
Matt Jones
08:52 PM Revision 6475 (metacat): Reformatted to correct indentation to make class readable.
Matt Jones
02:32 PM Revision 6474 (metacat): newer d1 jars -- contains CN.isNodeAuthorized() method
ben leinfelder
02:12 PM Revision 6473 (metacat): explicitly require java 1.6
ben leinfelder
02:11 PM Revision 6472 (metacat): collect "message" param from multipart request for MN.synchronizationFailed method
ben leinfelder
02:08 PM Revision 6471 (metacat): Reverting previous @Overrides chanrge from r6470, as that is the desired
behavior under Java 1.6 -- previous versions of Java (e.g., 1.5) will not
comile with this usage of the @Overrides an...
Matt Jones
01:36 PM Revision 6470 (metacat): Removing incorrect @Override annotations that were preventing compilation. The methods marked did not actually override a method in the superclass, so they were not compiling. I think @Overrides was being mistaken for methods that implement an interface but aren't actually in the superclass.
Matt Jones
11:55 AM Revision 6469 (metacat): use d1_common_java's date serialization utility for parsing parameters
ben leinfelder
10:48 AM Revision 6468 (metacat): catch runtime exceptions that arise from hazelcast storage errors in the system metadata map
ben leinfelder
09:12 AM Revision 6467 (metacat): Lock the system metadata entry in hzSystemMetadata when calling setReplicationPolicy().
Chris Jones
09:10 AM Revision 6466 (metacat): Lock the system metadata entry in hzSystemMetadata when calling registerSystemMetadata().
Chris Jones
07:18 AM Revision 6465 (metacat): Remove references to CNReplicationTask.
Chris Jones
07:17 AM Revision 6464 (metacat): Remove the CNReplicationTask (for now). We will be using Metacat's ForceReplicationHandler to replicate science metadata across CNs, and may explore the use of a 100% evicted hzScienceMetadata map. Either way, the distributed task design won't be needed. When a dropped CN comes back online, we'll catch it up based on last modified dates for PIDs in the hzSystemMetadata map.
Chris Jones
07:12 AM Revision 6463 (metacat): Change isNodeAuthorized() to query the hzSystemMetadata map rather than the hzPendingreplicationTasks map. The latter isn't needed for authorization since the ReplicationStatus for each Replica in SystemMetadata lists the status of the replica and can be queried.
Chris Jones
06:42 AM Revision 6462 (metacat): Add getNodesMap() to return the hzNodes map from the process cluster. Remove getPendingReplicationTasks since that structure is being removed. Add minor documentation.
Chris Jones

09/19/2011

06:29 PM Revision 6461 (metacat): Set the correct cluster name and password for the D1 Hazelcast process cluster. This will likely change for production deployments.
Chris Jones
03:39 PM Revision 6460 (metacat): only include 0.6.4 schemas for D1. Will also need to update this when we release whatever v1 ends up being.
ben leinfelder
03:26 PM Revision 6459 (metacat): lookup latest system metadata update date for use in synchronizing CN-CN when an offline nodes comes back online
ben leinfelder
12:17 PM Revision 6458 (metacat): changed the key type from Identifier to String for ObjectPathMap. (need a Comparable key).
rnahf
11:48 AM Revision 6457 (metacat): rework this to be MN->MN replication. Should be fleshed out more.
ben leinfelder
11:43 AM Revision 6456 (metacat): throw RuntimeExceptions when store() methods throw declared exceptions -- we want callers to put() to be alerted if there are errors.
ben leinfelder
10:18 AM Revision 6455 (metacat): move CNReplicationTask to the hazelcast package
ben leinfelder

09/16/2011

05:05 PM Revision 6454 (metacat): do not throw exception when checking for system metadata - boolean return is good.
use ReplicationStatus.valueOf() instead of convert() ben leinfelder
05:04 PM Revision 6453 (metacat): implicit success for setting accessPolicy - trust that the MapStore persists the updated system metadata
ben leinfelder
05:03 PM Revision 6452 (metacat): test relationship assertion using obsoletes
ben leinfelder
04:42 PM Revision 6451 (metacat): check if system metadata exists rather than just the id mapping (before creating the entry)
ben leinfelder
04:01 PM Revision 6450 (metacat): treat access rules atomically - do not group them together otherwise the intent is subverted
ben leinfelder
03:23 PM Revision 6449 (metacat): only "save" to the shared system metadata map - not directly to the table store.
ben leinfelder
03:17 PM Revision 6448 (metacat): do not send <systemMetadata> with the <docInfo> replication information - this is handled by the Hazelcast shared map
ben leinfelder
03:07 PM Revision 6447 (metacat): rely on Hazelcast to store the SystemMetadata locally for the node. Entry event listeners store the shared system metadata on their local node when alerted. TODO: remove old replication code that included system metadata xml when replicating scimeta and data
ben leinfelder
02:24 PM Revision 6446 (metacat): move bulk of the Hazelcast code into HazelcastService from CNodeService so that it is centrall located - easier to manage and configure
ben leinfelder
01:13 PM Revision 6445 (metacat): verify that the sysmeta checksum value matches the computed checksum value when calling create()
https://redmine.dataone.org/issues/1795 ben leinfelder
01:08 PM Revision 6444 (metacat): include sysmeta for uploaded BIN data that comes through the legacy Metacat servlet API
ben leinfelder
10:51 AM Revision 6443 (metacat): check for null pointers when adding system metadata/creating records during cn.create()
ben leinfelder
10:42 AM Revision 6442 (metacat): removing unneeded class (never used)
rnahf

09/15/2011

01:57 PM Revision 6441 (metacat): allow urls with "v1" in them
ben leinfelder
01:46 PM Revision 6440 (metacat): cleaned up mock tests on hzObjectPathMap. split out code for mocking a datastore into MockObjectPathMap.
rnahf
12:59 PM Revision 6439 (metacat): remove unused/old D1 SCHEMA downloads and build tasks
ben leinfelder
12:58 PM Revision 6438 (metacat): remove unused/old D1 SCHEMA downloads and build tasks
ben leinfelder
12:57 PM Revision 6437 (metacat): initialize Hazelcast from the custom configuration when initializing the Metacat service.
ben leinfelder
12:56 PM Revision 6436 (metacat): use shared hazelcast properties location on the CN
ben leinfelder
10:40 AM Revision 6435 (metacat): handle entryAdded and entryUpdated the same - update the entry if it exists, otherwise create it
ben leinfelder
10:38 AM Revision 6434 (metacat): handle entryAdded (to hzSystemMetadata) to store sysmeta to local store when it is not already present
ben leinfelder
10:37 AM Revision 6433 (metacat): make isScienceMetadata() method public/static to be called throughout Metacat
ben leinfelder
10:01 AM Revision 6432 (metacat): only create ObjectFormatId when we actually have the parameter (downstream we rely on it being null or not when constructing the query)
ben leinfelder

09/14/2011

05:33 PM Revision 6431 (metacat): exercise the shared hazelecast system metadata map and custom loader/store by inserting normally and also directly into the map. both mechanisms allow up to read the same system metadata (only tested on single local instance)
ben leinfelder
05:30 PM Revision 6430 (metacat): add code to handle new entry when it is not on the local member of the sysmeta cluster
ben leinfelder
04:15 PM Revision 6429 (metacat): clean up imports - randome quicktime package had been included
ben leinfelder
03:18 PM Revision 6428 (metacat): test hzSystemMetadata Map and custom loader
ben leinfelder
03:17 PM Revision 6427 (metacat): comment out processCluster connections that use hzClient until that is finalized
ben leinfelder
03:16 PM Revision 6426 (metacat): use HashMap, HashSet instead of the Tree* classes that require Identifier objects implement Comparable
ben leinfelder
02:41 PM Revision 6425 (metacat): copied default hazelcast configuration from the jar into hazelcast.test.properties.xml, to get instances to talk to each other.
rnahf
01:52 PM Revision 6424 (metacat): configuring hazelcast tests
rnahf
12:07 PM Revision 6423 (metacat): do not add obsoletes and obsoletedBy elements if their values are null (jibx chokes on the emptiness)
ben leinfelder
11:30 AM Revision 6422 (metacat): use both guid and docid when creating access row - then either mechanism can be used when retrieving the access rules
ben leinfelder
11:30 AM Revision 6421 (metacat): check for null session before looking at subject
ben leinfelder
10:02 AM Revision 6420 (metacat): further refactoring and start of unit tests for hazelcast elements
rnahf

09/13/2011

04:13 PM Revision 6419 (metacat): use pending replication task queue to check if node is authorized for replication. moved from old ReplicationService code
ben leinfelder
03:44 PM Revision 6418 (metacat): save system metadata and/or science metadata and/or ORE objects to the local CN if needed.
ben leinfelder
03:29 PM Revision 6417 (metacat): small code cleanup - removed unused instantiations of DBUtils.
rnahf
02:47 PM Revision 6416 (metacat): fixed logic wrt localID and docid. Implemented new method in IdentifierManager to getAllGUIDs from identifier table for implementation of loadAllKeys in ObjectPathMapLoader.
rnahf
11:38 AM Revision 6415 (metacat): further development of ObjectPathMapLoader.
rnahf

09/12/2011

02:48 PM Revision 6414 (metacat): new class for refreshing the hazelcast map with metacat. Initial commit.
rnahf
09:34 AM Revision 6413 (metacat): return the test Identifier so other tests can piggyback
ben leinfelder
09:32 AM Revision 6412 (metacat): check session != null before checking authorization
ben leinfelder

09/11/2011

06:41 PM Revision 6411 (metacat): Add stub methods in CNodeService that implement the Hazelcast EntryListener interface: entryAdded(), entryRemoved(), entryUpdated(), and entryEvicted(). Add a listener to the hzSystemMetadata map so the CNodeService can respond to those events and create appropriate CNReplicationTask objects for distributed execution across the CN cluster. Again, stubs only so far.
Chris Jones
06:27 PM Revision 6410 (metacat): Minor cleanup - tabs to spaces.
Chris Jones
06:26 PM Revision 6409 (metacat): Enable CNodeService to access 1) the hzNodes map defined in the DataONE process cluster by becoming a Hazelcast client (hzClient) to that cluster and 2) the hzSystemMetadata map defined in the DataONE storage cluster by becoming a member to that cluster (using direct Hazelcast calls). Added fields for maintaining the DataONE cluster properties.
Chris Jones
06:16 PM Revision 6408 (metacat): Add properties for strings used to connect to the DataONE storage and process Hazelcast clusters. The storage cluster is defined in the hazelcast.xml config file, and we list the names of the systemMetadataMap and the tasksIdNamespace in order to connect to these structures. When creating CNReplicationTask objects, use the task id generator to get a unique task id.
Chris Jones
06:12 PM Revision 6407 (metacat): Add in the Hazelcast Id generation namespace and an IdGenerator instance for task ids. Hazelcast will produce cluster-wide unique ids for the "task-ids" namespace, to be used when creating CNreplicationTask objects.
Chris Jones
05:29 PM Revision 6406 (metacat): Add the hazelcast client jar so Metacat can connect to the DataONE storage cluster that initializes the hzNodes shared node map and other structures as needed.
Chris Jones
03:28 PM Revision 6405 (metacat): Add a CNReplicationTask class that will be submitted to the CN storage cluster when there are changes to the object store involving system metadata, science metadata, and resource maps. When a new entry is added to the hzSystemMetadata map, a new data, science metadata, or resource map was added to the VO, and all CN cluster members need to be updated with the object and it's system metadata. This task is executed on each CN to replicate the information. If the event is an update to an existing system metadata entry, it may only involve a change to system metadata, or may involve a change to science metadata as well. The task will return with the PID of the object replicated, be it a sysmeta, scimeta, or resource object. Locking of the PID will be handled by the task.
Chris Jones
12:24 PM Revision 6404 (metacat): Update test for getReplicationStatus to reflect API change.
Chris Jones
12:22 PM Revision 6403 (metacat): Newest version of the D1 0.6.4 common jar.
Chris Jones
12:20 PM Revision 6402 (metacat): Catch D1nodeService up to the DataONE 0.6.4 schema where there is no ObjectFormat.isScienceMetadata() method, but rather ObjectFormat.getFormatType() where type is currently one of 'DATA, 'METADATA', or 'RESOURCE'.
Chris Jones
12:12 PM Revision 6401 (metacat): Modify HazelcastService to read configuration information from an on-disk file (not from a jar file). Added init() to start up the service (was calling doRefresh() before. We still need to decide if this is a refreshable service.
Chris Jones
12:10 PM Revision 6400 (metacat): Add the dataone.hazelcast.configFilePath property to be used when MetacatServlet becomes a Hazelcast cluster member using HazelcastService. TODO: what are the consequences of restarting the service via doRefresh()? It's set to false for now.
Chris Jones

09/08/2011

02:23 PM Revision 6399 (metacat): move HazelcastService to D1 package
ben leinfelder
07:27 AM Revision 6398 (metacat): Adding a HazelcastService for Metacat to enable Metacat as a Hazelcast cluster member in DataONE. This will require the hazelcast.xml configuration file used for the DataONE cluster to be on the Metacat classpath.
Chris Jones

09/07/2011

05:16 PM Revision 6397 (metacat): changes for schema update (d1_common)
ben leinfelder
02:22 PM Revision 6396 (metacat): do not parse from last slash ("/") to the end when processing the request uri - otherwise things like format ids (text/csv) will be handled incorrectly.
https://redmine.dataone.org/issues/1773 ben leinfelder

09/06/2011

02:33 PM Revision 6395 (metacat): added HazelCast MapStore and MapLoader implementation for SystemMetadata
ben leinfelder
11:55 AM Revision 6394 (metacat): use InvalidRequest when the PID is not found. https://redmine.dataone.org/issues/1768
ben leinfelder
 

Also available in: Atom