Project

General

Profile

Actions

Bug #6847

closed

Fix listObjects() to filter by replicaStatus correctly

Added by Chris Jones over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
metacat
Target version:
Start date:
09/28/2015
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:

Description

The replicaStatus parameter to list objects, when set to 'false', should exclude objects that are replicas from another DataONE Member Node from the results list. It doesn't seem to do this. For example, on mn-dev-ucsb-2.test.dataone.org, there are currently 2556 ORE maps.

metacat=# select count(*) from systemmetadata where object_format = 'http://www.openarchives.org/ore/terms';
 count 
-------
  2556

metacat=# select authoritive_member_node, count(authoritive_member_node) as cnt from systemmetadata where object_format like '%ore/terms%' group by authoritive_member_node;
 authoritive_member_node | cnt  
-------------------------+------
 urn:node:mnDevUCSB2     | 1720
 urn:node:mnDevUCSB1     |  574
 urn:node:mnDevUNM1      |  247
 bogusAuthoritativeNode  |   10
 urn:node:mnDevUNM2      |    4

Only 1720 of them are native to this node, but when listObjects() is called with replicaStatus set to either 'true' or 'false', both return a count of 2556.

Actions #1

Updated by Chris Jones over 8 years ago

  • Status changed from New to In Progress

After a bit of testing, it looks like this bug is limited to calls where multiple parameters are listed like count, formatId, and replicaStatus together. when replicaStatus is used alone, the filtering works. Need to look into the parameter handling and translation to a SQL query.

Actions #2

Updated by Jing Tao over 8 years ago

  • Assignee changed from Chris Jones to Jing Tao
Actions #4

Updated by Jing Tao over 8 years ago

The first url gets 2923, not 2930 items.

Actions #5

Updated by Jing Tao over 8 years ago

  • Status changed from In Progress to Closed
Actions

Also available in: Atom PDF