Project

General

Profile

Statistics
| Revision:

metacat @ 6452

  • svn:ignore: build
  • svn:mergeinfo: /branches/D1_0_6_2_BRANCH:6107-6121
# Date Author Comment
6452 09/16/2011 05:03 PM ben leinfelder

test relationship assertion using obsoletes

6451 09/16/2011 04:42 PM ben leinfelder

check if system metadata exists rather than just the id mapping (before creating the entry)

6450 09/16/2011 04:01 PM ben leinfelder

treat access rules atomically - do not group them together otherwise the intent is subverted

6449 09/16/2011 03:23 PM ben leinfelder

only "save" to the shared system metadata map - not directly to the table store.

6448 09/16/2011 03:17 PM ben leinfelder

do not send <systemMetadata> with the <docInfo> replication information - this is handled by the Hazelcast shared map

6447 09/16/2011 03:07 PM ben leinfelder

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

6446 09/16/2011 02:24 PM ben leinfelder

move bulk of the Hazelcast code into HazelcastService from CNodeService so that it is centrall located - easier to manage and configure

6445 09/16/2011 01:13 PM ben leinfelder

verify that the sysmeta checksum value matches the computed checksum value when calling create()
https://redmine.dataone.org/issues/1795

6444 09/16/2011 01:08 PM ben leinfelder

include sysmeta for uploaded BIN data that comes through the legacy Metacat servlet API

6443 09/16/2011 10:51 AM ben leinfelder

check for null pointers when adding system metadata/creating records during cn.create()

6442 09/16/2011 10:42 AM rnahf

removing unneeded class (never used)

6441 09/15/2011 01:57 PM ben leinfelder

allow urls with "v1" in them

6440 09/15/2011 01:46 PM rnahf

cleaned up mock tests on hzObjectPathMap. split out code for mocking a datastore into MockObjectPathMap.

6439 09/15/2011 12:59 PM ben leinfelder

remove unused/old D1 SCHEMA downloads and build tasks

6438 09/15/2011 12:58 PM ben leinfelder

remove unused/old D1 SCHEMA downloads and build tasks

6437 09/15/2011 12:57 PM ben leinfelder

initialize Hazelcast from the custom configuration when initializing the Metacat service.

6436 09/15/2011 12:56 PM ben leinfelder

use shared hazelcast properties location on the CN

6435 09/15/2011 10:40 AM ben leinfelder

handle entryAdded and entryUpdated the same - update the entry if it exists, otherwise create it

6434 09/15/2011 10:38 AM ben leinfelder

handle entryAdded (to hzSystemMetadata) to store sysmeta to local store when it is not already present

6433 09/15/2011 10:37 AM ben leinfelder

make isScienceMetadata() method public/static to be called throughout Metacat

6432 09/15/2011 10:01 AM ben leinfelder

only create ObjectFormatId when we actually have the parameter (downstream we rely on it being null or not when constructing the query)

6431 09/14/2011 05:33 PM ben leinfelder

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)

6430 09/14/2011 05:30 PM ben leinfelder

add code to handle new entry when it is not on the local member of the sysmeta cluster

6429 09/14/2011 04:15 PM ben leinfelder

clean up imports - randome quicktime package had been included

6428 09/14/2011 03:18 PM ben leinfelder

test hzSystemMetadata Map and custom loader

6427 09/14/2011 03:17 PM ben leinfelder

comment out processCluster connections that use hzClient until that is finalized

6426 09/14/2011 03:16 PM ben leinfelder

use HashMap, HashSet instead of the Tree* classes that require Identifier objects implement Comparable

6425 09/14/2011 02:41 PM rnahf

copied default hazelcast configuration from the jar into hazelcast.test.properties.xml, to get instances to talk to each other.

6424 09/14/2011 01:52 PM rnahf

configuring hazelcast tests

6423 09/14/2011 12:07 PM ben leinfelder

do not add obsoletes and obsoletedBy elements if their values are null (jibx chokes on the emptiness)

6422 09/14/2011 11:30 AM ben leinfelder

use both guid and docid when creating access row - then either mechanism can be used when retrieving the access rules

6421 09/14/2011 11:30 AM ben leinfelder

check for null session before looking at subject

6420 09/14/2011 10:02 AM rnahf

further refactoring and start of unit tests for hazelcast elements

6419 09/13/2011 04:13 PM ben leinfelder

use pending replication task queue to check if node is authorized for replication. moved from old ReplicationService code

6418 09/13/2011 03:44 PM ben leinfelder

save system metadata and/or science metadata and/or ORE objects to the local CN if needed.

6417 09/13/2011 03:29 PM rnahf

small code cleanup - removed unused instantiations of DBUtils.

6416 09/13/2011 02:47 PM rnahf

fixed logic wrt localID and docid. Implemented new method in IdentifierManager to getAllGUIDs from identifier table for implementation of loadAllKeys in ObjectPathMapLoader.

6415 09/13/2011 11:38 AM rnahf

further development of ObjectPathMapLoader.

6414 09/12/2011 02:48 PM rnahf

new class for refreshing the hazelcast map with metacat. Initial commit.

6413 09/12/2011 09:34 AM ben leinfelder

return the test Identifier so other tests can piggyback

6412 09/12/2011 09:32 AM ben leinfelder

check session != null before checking authorization

6411 09/11/2011 06:41 PM Chris Jones

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.

6410 09/11/2011 06:27 PM Chris Jones

Minor cleanup - tabs to spaces.

6409 09/11/2011 06:26 PM Chris Jones

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.

6408 09/11/2011 06:16 PM Chris Jones

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.

6407 09/11/2011 06:12 PM Chris Jones

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.

6406 09/11/2011 05:29 PM Chris Jones

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.

6405 09/11/2011 03:28 PM Chris Jones

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.

6404 09/11/2011 12:24 PM Chris Jones

Update test for getReplicationStatus to reflect API change.

6403 09/11/2011 12:22 PM Chris Jones

Newest version of the D1 0.6.4 common jar.

6402 09/11/2011 12:20 PM Chris Jones

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'.

6401 09/11/2011 12:12 PM Chris Jones

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.

6400 09/11/2011 12:10 PM Chris Jones

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.

6399 09/08/2011 02:23 PM ben leinfelder

move HazelcastService to D1 package

6398 09/08/2011 07:27 AM Chris Jones

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.

6397 09/07/2011 05:16 PM ben leinfelder

changes for schema update (d1_common)

6396 09/07/2011 02:22 PM ben leinfelder

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

6395 09/06/2011 02:33 PM ben leinfelder

added HazelCast MapStore and MapLoader implementation for SystemMetadata

6394 09/06/2011 11:55 AM ben leinfelder

use InvalidRequest when the PID is not found. https://redmine.dataone.org/issues/1768

6393 09/02/2011 02:21 PM ben leinfelder

remove unused dataone properties

6392 09/02/2011 02:13 PM ben leinfelder

use 0.6.4 for node capabilities

6391 09/02/2011 01:57 PM ben leinfelder

use Permission.REPLICATE not EXECUTE

6390 09/02/2011 01:41 PM ben leinfelder

check with the CN if replication is allowed for the object in question for getReplica()

6389 09/02/2011 12:45 PM ben leinfelder

add getReplica() implementation. same as get() but with different logging. seems silly, but maybe I missed something important that distinguishes this method.

6388 08/31/2011 03:20 PM Chris Jones

Rolling back inadvertent commit on test.properties. Doh.

6387 08/31/2011 03:18 PM Chris Jones

Incomplete - task : Getting started with your first Spring web application development project

6386 08/31/2011 02:39 PM Chris Jones

Update MetacatPopulator to use the DataONE 0.6.4 schema and types.

6385 08/31/2011 02:37 PM Chris Jones

Update tests to use the DataONE 0.6.4 schema and types.

6384 08/31/2011 02:36 PM Chris Jones

Update classes to use the DataONE 0.6.4 schema and types. Major changes involve using BigInteger vs long in SystemMetadata.size, and using ObjectFormatIdentifier rather than Object format.

6383 08/31/2011 02:33 PM Chris Jones

Update DataONE jar files to 0.6.4. Updated classes to follow.

6382 08/10/2011 04:24 PM Chris Jones

Insert system metadata after the data object is inserted.

6381 08/10/2011 07:04 AM Chris Jones

Fix bug in updateSystemMetadataFields() where guid is set from the wrong parameter in the prepared SQL statement.

6378 08/03/2011 10:46 AM ben leinfelder

latest D1 jars - changes include:
updateSystemMetadata() impl for CN
new identifier methods (generate is its own method)
removal of the resourceMap pointer from system metadata

6377 07/29/2011 10:40 AM ben leinfelder

remove ORE mapping from system metadata

6376 07/29/2011 08:14 AM Chris Jones

Update the d1 common java jar to include the changes to BaseException, and update MNodeService.synchronizationFailed() to use the BaseException.getNodeId() method to report which node the exception came from.

6375 07/28/2011 05:11 PM ben leinfelder

include obsoletes and obsoletedBy for system metadata
repurpose the "provenance" table as the ORE mapping table for system metadata

6374 07/28/2011 11:43 AM ben leinfelder

updated jars after recent schema changes (no real change for us here)

6373 07/28/2011 11:10 AM ben leinfelder

use correct enum method

6372 07/28/2011 10:51 AM ben leinfelder

refactor Constants

6371 07/28/2011 10:50 AM ben leinfelder

refactor Constants

6370 07/28/2011 10:48 AM ben leinfelder

refactor Constants and ServiceTypeUtil

6369 07/28/2011 10:44 AM ben leinfelder

use NodelistUtil

6368 07/28/2011 10:11 AM ben leinfelder

use correct enum method

6367 07/28/2011 10:10 AM ben leinfelder

remove ServiceTypeUtil - replace with TypeMarshaller

6366 07/27/2011 04:25 PM ben leinfelder

use new "v1" types from DataONE

6363 07/20/2011 03:05 PM ben leinfelder

exclude non-test cases (d1)

6362 07/20/2011 03:00 PM ben leinfelder

remove CrudService -- replaced by MNodeService and CNodeService

6361 07/20/2011 02:51 PM ben leinfelder

handle more than "contains" searchmode when using the path index for queries
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5443

6360 07/20/2011 02:48 PM ben leinfelder

remove CrudServiceTest reference in main Metacat test (about to remove from svn)

6359 07/20/2011 01:51 PM ben leinfelder

-handle NotFound object format when generating system metadata
-improve EML DML for null entity/attribute elements

6358 07/20/2011 11:39 AM ben leinfelder

use the ObjectFormat Id (not toString()) to check against the configured science metadata formats

6357 07/20/2011 11:38 AM ben leinfelder

reset object input stream (testGet)
check for reserveIdentifier NotImplemented (expected)

6356 07/20/2011 11:37 AM ben leinfelder

merge changes from 1.9.5 branch that read site docs from SVN not a defunct LTER server

6354 07/19/2011 08:09 AM Chris Jones

Return the new pid (not the obsoleted pid) on update(), and set the correct system metadata.

6353 07/15/2011 07:11 AM Chris Jones

In D1NodeService.getLogRecords(), don't pass in null start and count params - set them to the defaults (0 and 1000).

6352 07/15/2011 06:52 AM Chris Jones

MNResourceHandler.getObject() was making a call to ObjectFormat.getFmtid() when an object format was null. Check that it is not null before trying getFmtid().

6351 07/14/2011 09:25 PM Chris Jones

In MNodeService.getCapabilities(), update the properties to match those in metacat.properties. Flesh out the NodeHealth object, adding NodeState, Ping, and Status information. Flesh out the Synchronization object information, but for now, use mock values. TODO: This should be determined from configuration and on-the-fly information.

6350 07/14/2011 08:04 PM Chris Jones

Use CamelCaps for properties for better readability.

6349 07/14/2011 04:27 PM ben leinfelder

include Mock version of looking up the base url for our own node - for testReplicate().
still expecting a failure during MN.replicate() since we are trying to add the replica to the same MN from which it came.

6348 07/14/2011 03:12 PM ben leinfelder

allow alternative CNode implementations (subclasses) to be returned when D1Client.getCN() is called. The alternative is given in the Settings configuration via the D1Client.cnClassName property.
MockCNode in Metacat is an example of such an alternative and is used when Metacat requires methods of a CN be present for unit testing.