3434import java .util .ArrayList ;
3535import java .util .Arrays ;
3636import java .util .Date ;
37- import java .util .HashMap ;
3837import java .util .List ;
3938import java .util .Map ;
39+ import java .util .concurrent .ConcurrentHashMap ;
4040import javax .annotation .concurrent .NotThreadSafe ;
4141
4242/**
@@ -77,11 +77,11 @@ class FakeStorageRpc extends StorageRpcTestBase {
7777 new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ssXXX" );
7878
7979 // fullname -> metadata
80- Map <String , StorageObject > metadata = new HashMap <>();
80+ Map <String , StorageObject > metadata = new ConcurrentHashMap <>();
8181 // fullname -> contents
82- Map <String , byte []> contents = new HashMap <>();
82+ Map <String , byte []> contents = new ConcurrentHashMap <>();
8383 // fullname -> future contents that will be visible on close.
84- Map <String , byte []> futureContents = new HashMap <>();
84+ Map <String , byte []> futureContents = new ConcurrentHashMap <>();
8585
8686 private final boolean throwIfOption ;
8787
@@ -92,8 +92,8 @@ public FakeStorageRpc(boolean throwIfOption) {
9292
9393 // remove all files
9494 void reset () {
95- metadata = new HashMap <>();
96- contents = new HashMap <>();
95+ metadata = new ConcurrentHashMap <>();
96+ contents = new ConcurrentHashMap <>();
9797 }
9898
9999 @ Override
@@ -149,7 +149,7 @@ public Tuple<String, Iterable<StorageObject>> list(String bucket, Map<Option, ?>
149149 final String prefix = preprefix ;
150150
151151 List <StorageObject > values = new ArrayList <>();
152- Map <String , StorageObject > folders = new HashMap <>();
152+ Map <String , StorageObject > folders = new ConcurrentHashMap <>();
153153 for (StorageObject so : metadata .values ()) {
154154 if (!so .getBucket ().equals (bucket ) || !so .getName ().startsWith (prefix )) {
155155 continue ;
0 commit comments