Story #7473

[FUSE] [SDKs] Ensure FUSE and other SDK clients work with a default replication level != 2

Added by Brett Smith over 3 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
FUSE
Target version:
Start date:
10/07/2015
Due date:
% Done:

0%

Estimated time:
Story points:
-

Description

We have a report that when an API server is configured with default_collection_replication: 1, and knows about one Keep service, any attempt to write to the FUSE mount returns I/O errors. This seems to be happening because the FUSE server does not respect this option in the API server, and tries to replicate everything twice.

Implementation

Add tests to the Python SDK to ensure the defaultCollectionReplication given in the discovery document is used as the default if a client does not specify a number of copies. If those tests fail, make them pass. (Currently, arv-put (in commands/put.py) uses the discovery doc to get the default. But the KeepClient class in the SDK should do this by itself: i.e., if put() is called with copies=None or no copies arg at all then use
api_client._rootDesc.get('defaultCollectionReplication', 2))

Add tests to ensure that FUSE behaves correctly when the API server's default replication level is 1 (lower than the "default default" 2), and when it's 3 (higher than 2). If those tests fail, make them pass.

History

#1 Updated by Brett Smith over 3 years ago

  • Target version set to Arvados Future Sprints

#2 Updated by Brett Smith over 3 years ago

  • Description updated (diff)

#3 Updated by Tom Clegg about 3 years ago

  • Subject changed from [FUSE] Ensure FUSE works with a default replication level != 2 to [FUSE] [SDKs] Ensure FUSE works with a default replication level != 2
  • Description updated (diff)

#4 Updated by Tom Clegg about 3 years ago

  • Subject changed from [FUSE] [SDKs] Ensure FUSE works with a default replication level != 2 to [FUSE] [SDKs] Ensure FUSE and other SDK clients work with a default replication level != 2
  • Description updated (diff)

Also available in: Atom PDF