Project

General

Profile

Statistics
| Revision:

metacat / src @ 6692

# Date Author Comment
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

6658 11/16/2011 10:38 AM ben leinfelder

remove DataONE schema reference in xml_catalog

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

6583 11/01/2011 04:53 PM ben leinfelder

drop old identifier when upgrading from 1.9.5 to 2.0.0

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.

6571 11/01/2011 06:33 AM Chris Jones

Add setAccessPolicy() to CNodeService since the CN should only make changes to access policies for objects registered with the D1 system. Increment the serial version after locling and getting the most up to fdate system metadata.
Note: CCIT meeting decision says the serial version of the system metadata (during the change) should equal the current serial version, but setAccessPolicy() does not pass in the entire system metadata object, so there's no way to check. For now, increment the latest system metadata from the hzSystemMetadata map.

6570 10/31/2011 04:37 PM Chris Jones

In CNodeService, separate the CN.create() functionality from the MN.create() functionality while still using the superclass to call create(). Deal with Hazelcast locks and setting serial versions only in the CN implementation.

6569 10/31/2011 01:13 PM Chris Jones

Change updateSystemMetadata() to evaluate the incoming system metadata serial version against that found in the hzSystemMetadata map. If they are the same, do the update. If not, throw an InvalidRequest explaining that they need the most current version.

6568 10/29/2011 07:21 PM Chris Jones

Modify CNodeService's registerSystemMetadata() with support for SystemMetadata's serialVersion field. Also, use the hzSystemMetadata map for all system metadata reads using a lock on the pid in order to get the very latest version. This affected isNodeAuthorized(), getChecksum(), and assertRelation(). Since we're using Hazelcast, exceptions are masked as RuntimeException, so throw a ServiceFailure with the underlying message.

6567 10/28/2011 09:46 PM Chris Jones

Modify CNodeService's updateSystemMetadata(), setReplicationStatus(), setReplicationPolicy(), and setOwner() with support for SystemMetadata's serialVersion field. Other methods still pending an update. Use the hzSystemMetadata map for all system metadata reads using a lock on the pid in order to get the very latest version.

6564 10/28/2011 04:05 PM Chris Jones

SystemMetadataManager's functionality is handled by IdentifierManager. Removing it and it's test.

6563 10/28/2011 04:01 PM Chris Jones

MetadataTypeRegister is now replaced by ObjectFormatService. Removing it and it's test.

6562 10/28/2011 01:16 PM ben leinfelder

include clearer error message when UPDATE action is requested on a replicated document and we fail to successfully get a lock from the source Metacat server
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4907

6561 10/27/2011 05:51 PM ben leinfelder

move the DataONE 1.0.0-SNAPSHOT

6560 10/27/2011 04:33 PM ben leinfelder

correctly check for missing config values during geoserver configuration

6558 10/27/2011 04:01 PM ben leinfelder

remove reference to tomcat5.5 in favor of tomcat6. including the "custom" start up script that used the sun jdk -- this can be configured rather than coded into the script.

6557 10/27/2011 03:59 PM ben leinfelder

correctly check for missing config values during geoserver configuration

6552 10/27/2011 02:13 PM ben leinfelder

Configure and use CertificateManager in order to act as the MN when performing replicate() and getReplica() mthods.

6551 10/27/2011 01:00 PM ben leinfelder

use logging, not system.out

6550 10/27/2011 12:40 PM ben leinfelder

change upgrade scripts/routines to use 2.0.0 version number instead of 1.10.0