Project

General

Profile

Statistics
| Revision:

# Date Author Comment
6714 11/29/2011 03:43 PM ben leinfelder

evict the HazelCast SystemMetadata entry if we update the access control rules via Metacat's legacy API, otherwise stale SystemMetadata stays in memory instead of being looked up from the backing table store.

6713 11/29/2011 03:41 PM ben leinfelder

optionally include ORE generation/insertion into Metacat when generating SystemMetadata
https://redmine.dataone.org/issues/2056

6712 11/29/2011 02:15 PM ben leinfelder

optionally include ORE generation/insertion into Metacat when generating SystemMetadata
https://redmine.dataone.org/issues/2056

6711 11/29/2011 01:44 PM Chris Jones

Set a default HazelcastInstance after init() is called, and use this instance in getLock() to acquire a lock in the cluster.

6710 11/29/2011 01:41 PM ben leinfelder

no need to cast docInfo entries to String -- they are all strings

6709 11/29/2011 01:39 PM ben leinfelder

set revision history, the create/update dates and the owner/submitter (correctly)

6708 11/29/2011 01:05 PM ben leinfelder

use shared method for looking up "docInfo" map -- both in Metacat replication and in D1 system metadata generation

6707 11/29/2011 12:38 PM ben leinfelder

make default formatting a little bit easier to read

6706 11/29/2011 12:33 PM ben leinfelder

reformat code -- no changes

6705 11/29/2011 12:31 PM ben leinfelder

refactor SystemMetadata creation into separate class from the MetacatHandler -- this will be shared by upgrade code and normal metacat api.

6704 11/29/2011 11:00 AM ben leinfelder

include all document revisions when generating "missing" system metadata
TODO: revision graph captured in obsoletes/obsoletedBy

6703 11/29/2011 10:10 AM Chris Jones

When using ILock.lock(), get a lock on the string value of the Identifier, not the Identifier object itself. Hazelcast locking won't work otherwise.

6702 11/29/2011 08:55 AM Chris Jones

Use the Hazelcast ILock mechanism to lock the system metadata identifier rather than using IMap.lock(pid).

6701 11/28/2011 04:09 PM ben leinfelder

simplify SystemMetadata generation -- will be done during Metacat upgrade for D1 features/support.

6700 11/28/2011 03:53 PM ben leinfelder

clean up populator; use IOUtils library to do string<->stream conversions

6696 11/28/2011 02:22 PM Jing Tao

Set sessionid for clientVeiwBean when it handle a request.
Always set the order type to "allowFirst".

6693 11/23/2011 12:10 PM ben leinfelder

verify checksum when retrieving replica from another member node.
https://redmine.dataone.org/issues/1794

6692 11/23/2011 11:59 AM ben leinfelder

make sure to get/put system metadata to the HZ map instead of using IdentifierManager directly
verified changes for: https://redmine.dataone.org/issues/1999

6691 11/23/2011 11:37 AM ben leinfelder

match documentation for the MN.describe() header
https://redmine.dataone.org/issues/1904

6690 11/23/2011 11:31 AM ben leinfelder

configure synch schedule in the admin screen
https://redmine.dataone.org/issues/1933

6689 11/23/2011 11:03 AM ben leinfelder

look-up sych schedule from metacat properties instead of hardcoding them
https://redmine.dataone.org/issues/1933

6688 11/23/2011 10:19 AM ben leinfelder

when comparing D1 Subject objects, use the equals() method not direct string comparison
https://redmine.dataone.org/issues/2050

6687 11/23/2011 10:07 AM ben leinfelder

access nodeList list correctly
https://redmine.dataone.org/issues/2049

6686 11/22/2011 04:10 PM Jing Tao

When read a FGDC document, Metacat will add a new parameter enableFGDCediting params for the xml transforming.

6684 11/21/2011 02:16 PM Jing Tao

set the uploade file size -1.

6680 11/21/2011 11:21 AM ben leinfelder

allow unknown content sizes
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5543

6679 11/18/2011 05:00 PM ben leinfelder

run replicate() in a separate thread so that we don't wait for potentially large data objects to be moved around the system.

6678 11/18/2011 12:13 PM Chris Jones

Call replicate() asynchronously.

6677 11/18/2011 09:13 AM Chris Jones

Use status.toLowerCase() to deal with ReplicationStatus conversion issues. This needs to be reviewed.

6676 11/18/2011 09:10 AM Chris Jones

Use Subject.equals() when comparing DNs rather than CertificateManager.equalsDN(). Don't lock the pid in isNodeAuthorized() to debug for timeout issues. Minor debugging changes.

6675 11/17/2011 03:44 PM ben leinfelder

give the Metacat admin users FULL permissions on all data/docs
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4728

6672 11/17/2011 02:47 PM ben leinfelder

replication control panel now fully implemented as an admin configuration screen
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5528

6669 11/17/2011 12:19 PM ben leinfelder

move replication configuration actions to the admin servlet and out of the replication servlet
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5528

6666 11/17/2011 11:19 AM ben leinfelder

save SystemMetadata when replicating data and metadata -- this way if/when the node decides to be a DataONE MN it already has the information needed for each object

6665 11/16/2011 06:15 PM Chris Jones

Minor logging for isNodeAuthorized(), and compare subjects properly. Change this to Subject.compareTo() when it is vetted.

6664 11/16/2011 04:09 PM ben leinfelder

check for authenticated and verified user permissions

6663 11/16/2011 03:34 PM ben leinfelder

throw NotAuthorized when there is no session

6662 11/16/2011 02:27 PM Chris Jones

Catch RuntimeExceptions thrown by Hazelcast as opposed to general Exceptions to we don't catch exceptions we're trying to throw.

6660 11/16/2011 12:58 PM ben leinfelder

get params from multipart params for systemMetadataChanged call

6659 11/16/2011 10:45 AM ben leinfelder

generalize exception handling -- add cause detail

6657 11/16/2011 10:34 AM Chris Jones

Changes to setReplicationStatus and isNodeAuthorized(), working out minor bugs in replication.

6656 11/16/2011 09:50 AM ben leinfelder

include exception cause when throwing new exception (combine RuntimeException in Exception handling -- they are almst identical)

6653 11/15/2011 10:48 AM ben leinfelder

throw InvalidToken when session is null

6652 11/15/2011 10:47 AM ben leinfelder

correct typo

6651 11/15/2011 09:37 AM Chris Jones

Send the correct node id (the target node) when calling setReplicationStatus()

6650 11/14/2011 04:00 PM ben leinfelder

get pid from normal params, not the URL -- the client should include them in the params -- and not as a serialized "object" since it is just a string value

6649 11/14/2011 03:49 PM ben leinfelder

check obsoletes and obsoletedBy PIDs when updating objects

6648 11/14/2011 03:34 PM ben leinfelder

delete system metadata when MN.delete() is called.

6645 11/14/2011 02:59 PM ben leinfelder

throw InvalidToken when there is no session (certificate) provided in update() and delete() methods.

6644 11/13/2011 05:47 PM Chris Jones

Calls to setReplicationStatus() can only be made by a CN or the MN that is the target replica node. Implement this service restriction in CNodeService using CertificateManager's equalsDN() method.

6643 11/13/2011 04:47 PM Chris Jones

The ReplicationStatus parameter is 'status', not 'replicationStatus', in the architecture documentation.

6642 11/13/2011 03:50 PM Chris Jones

Although parameters for setReplicationStatus() are expected as multipart/form-data fields, they seem to be added to the HttpServletRequest as URL parameters during the proxy forwarding in d1_cn_rest_proxy. Test for their existence as multipart fields, but fall back to request params, otherwise, throw an InvalidRequest exception.

6639 11/11/2011 09:54 AM ben leinfelder

lookup stylesheet from metacat.properties for CN list objects and list formats. This is used in conjunction with the CN rest service deployment where the xslt is actually kept.

6638 11/11/2011 09:12 AM ben leinfelder

actually persist the MN id value to the properties file

6637 11/11/2011 09:06 AM ben leinfelder

set the newly assigned MN id after we call CN.register().

6636 11/11/2011 08:58 AM Chris Jones

Added stack trace debugging for CNodeService.isNodeAuthorized() for tracking down replication issues.

6635 11/10/2011 11:36 PM ben leinfelder

DataONE MN registration/configuration is now its own configuration page in the admin interface.
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5531

6634 11/10/2011 12:07 PM Chris Jones

Since we're using a multipart form to encode parameters, extract the params out of the multipart form prior to doing a get() from the multipartparams map in setReplicationStatus(). Likewise, do the same in updateReplicationMetadata() and setReplicationPolicy().

6632 11/10/2011 08:30 AM Chris Jones

Use a session object that is set to null when calling CNode.setReplicationStatus()

6631 11/10/2011 08:05 AM Chris Jones

Add debugging code to MNodeService.getReplica().

6630 11/09/2011 06:55 PM Chris Jones

Set a new Session object to null, to be overwritten by the CertificateManager session information from the X.509 certificate.

6629 11/09/2011 05:45 PM ben leinfelder

more changes for http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527

6628 11/09/2011 04:26 PM ben leinfelder

get server param only when it is expected

6627 11/09/2011 03:34 PM ben leinfelder

check replication table (not keystore) for trusted server host name match

6624 11/09/2011 07:14 AM Chris Jones

Fix cast to List<Node> in isNodeAuthorized().

6623 11/08/2011 04:40 PM Chris Jones

List the correct REST endpoints for replication in the documentation.

6622 11/08/2011 03:49 PM ben leinfelder

upgrade to 1.0.1-SNAPSHOT DataONE jars

6620 11/08/2011 11:31 AM ben leinfelder

started replication unit test

6619 11/08/2011 10:36 AM Chris Jones

Keep /dirtySystemMetadata as the REST endpoint for systemMetadataChanged() for now.

6616 11/07/2011 03:53 PM ben leinfelder

add note about alternative methods for getting cert/key

6615 11/07/2011 03:50 PM ben leinfelder

use prepared statement place holder (?)

6614 11/07/2011 02:31 PM ben leinfelder

use DateTimeMarshaller for all replication date transfers

6613 11/07/2011 12:31 PM ben leinfelder

print the stacktrace when there is an error -- debuggin!

6611 11/07/2011 10:55 AM ben leinfelder

use SSL to get content from stream

6610 11/07/2011 10:52 AM Chris Jones

Update methods in MNodeService to reflect they modifications of the MN API with regard to exceptions being raised. Largely removed InvalidRequest from a number of methods, and instead threw an appropriate NotFound or ServiceFailure instead.

6609 11/07/2011 10:01 AM Chris Jones

D1NodeService get(), getSystemMetadata(), and isAuthorized() no longer throw InvalidRequest.

6606 11/04/2011 02:45 PM ben leinfelder

uses prepared statement instead of plain old statement.
deprecated the DBConnection.createStatement() method to discourage direct parameter value use in favor of parameter binding.
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527

6604 11/04/2011 02:21 PM Chris Jones

Fix getReplica() handling code for getReplica() and systemMetadataChanged(). Calls to getReplica() in MNode were calling get(), so the lack of resource handling was being missed.

6603 11/04/2011 02:19 PM Chris Jones

Handle multipart params where the libclient methods are using them.

6602 11/04/2011 12:32 PM ben leinfelder

uses prepared statement parameter binding for queries
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527

6600 11/03/2011 12:55 PM Chris Jones

Add in the systemMetadataChanged() method in MNodeService to respond to notifications. Only allow subjects from CNs listed in the node list to make the call. Update the local copy of the system metadata document for the given pid.

6599 11/03/2011 10:36 AM Chris Jones

Include the serialVersion in the call to CN.setReplicationStatus() after replicating data.

6598 11/02/2011 10:10 PM ben leinfelder

correctly set the prepared statement parameters for start and end date

6596 11/02/2011 09:58 PM ben leinfelder

make MNodeServiceTest pass JUnit testing

6595 11/02/2011 08:40 PM ben leinfelder

http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527

6593 11/02/2011 08:04 PM Chris Jones

Update CNodeService to use the serialVersion parameter and compare it to the current serialVersion of the system metadata found in the hzSystemMetadata map. Throw an InvalidRequest exception if they are not equal. This affects updateReplicationMetadata(), setReplicationStatus(), setReplicationPolicy(), setAccessPolicy(), and setOwner().

6592 11/02/2011 08:00 PM Chris Jones

Handle calls to CNReplication REST services. Modify handle() to field calls to /replicaPolicies, /replicaMetadata, /replicaAuthorizations, and /replicaNotifications. Add the isNodeAuthorized(), setReplicationPolicy(), setReplicationStatus(), and updateReplicationMetadata() methods to parse and pass multipart form data and params on to the CNodeService implementing class....

6590 11/02/2011 07:46 PM Chris Jones

Add support for the various CNReplication calls. Add collectReplicationPolicy() to parse the policy out of the multipart form, and collectReplicaMetadata() to parse out the replica to be updated.

6587 11/01/2011 07:35 PM ben leinfelder

skip verification -- remaining TODO

6586 11/01/2011 07:08 PM ben leinfelder

verify certificate

6585 11/01/2011 06:41 PM ben leinfelder

inspect keystore entries for matching client certificate

6584 11/01/2011 05:27 PM ben leinfelder

lookup the correct property for keystore file

6582 11/01/2011 03:23 PM ben leinfelder

use HttpClient to set up SSL connection when doing replication calls -- this will use the server's configured certificate as the client certificate on the request. The server it is calling can then inspect that certificate and decide whether or not it trusts the caller.

6579 11/01/2011 01:33 PM ben leinfelder

check client-provided certificate when servicing ReplicationServlet requests.

6578 11/01/2011 11:54 AM Chris Jones

Add updateReplicationMetadata() to the CN service implementation. This was missing from the API, and likely never called. It fully replaces the given replica item in the list of replicas in system metadata.

6576 11/01/2011 08:59 AM Chris Jones

getReplica() should log replication events as DataONE Types.Event.replicate (vs 'getreplica')

6575 11/01/2011 08:54 AM Chris Jones

Minor indentation cleanup.

6574 11/01/2011 06:48 AM Chris Jones

Modify isAuthorized() to get the most up to date system metadata from the hzSystemMetadata map.

6573 11/01/2011 06:40 AM Chris Jones

Add a placeholder setAccessPolicy() method in MNodeService that throws NotImplemented since this method is being deprecated. Note: need to confirm that this shouldn't be calling D1Client.getCN().setAccessPolicy().

6572 11/01/2011 06:37 AM Chris Jones

Update getSystemMetadata() to lock(); get(); unlock() to ensure we have the latest version of system metadata from the hzSystemMetadata map. Remove the setAccessPolicy() method since it is being deprecated in the MNAuthorization API.
change insertSystemMetadata() to use a finer grained Date object on insertion. Locking of the pid happens in the subclass prior to the insert.