Bug #4759
closed[API] greater than filter is treated as greater than or equals for modification time.
100%
Description
When I request collections with a modification time greater than x, I receive a collection with a modification time of x.
Example (to run from command line):
python -c "import arvados; import pprint;
pprint.pprint(arvados.api().collections().list(limit=1,order='modified_at',filters=[['modified_at','>','2013-07-08T19:37:57Z']]).execute())"
{u'etag': u'',
u'items': [{u'created_at': u'2013-07-08T19:37:57Z',
u'description': None,
u'etag': u'czqugdzh4kslkm8oq7yvzgb6f',
u'href': u'/collections/qr1hi-4zz18-hbwcw8tj4rfwf31',
u'kind': u'arvados#collection',
u'modified_at': u'2013-07-08T19:37:57Z',
u'modified_by_client_uuid': None,
u'modified_by_user_uuid': None,
u'name': None,
u'owner_uuid': u'qr1hi-tpzed-l7yhndlho2l8pi7',
u'portable_data_hash': u'5894dfae5d6d8edf135f0ea3dba849c2+62',
u'properties': None,
u'uuid': u'qr1hi-4zz18-hbwcw8tj4rfwf31'}],
u'items_available': 16053,
u'kind': u'arvados#collectionList',
u'limit': 1,
u'offset': 0,
u'self_link': u''}
One possible explanation is that the modification times are stored in a more precise format than we reveal to users, so this behavior is actually correct, because the modification time stored is a few milleseconds later than the reported modification time. In that case I'd argue that we should be revealing this higher precision timestamp to our users to let them do what they want.