@Test public void testReverseDirectoryCacheMiss() throws Exception { FDBReverseDirectoryCache reverseDirectoryCache = fdb.getReverseDirectoryCache(); assertFalse(reverseDirectoryCache.get(createRandomDirectoryScope().wrap(1L)).join().isPresent(), "reverse lookup miss should return empty optional"); }
@Nonnull public CompletableFuture<Optional<String>> get(@Nonnull final ScopedValue<Long> scopedReverseDirectoryKey) { return get(null, scopedReverseDirectoryKey); }
FDBReverseDirectoryCache { @Nonnull public CompletableFuture<Optional<String>> get(@Nonnull final ScopedValue<Long> scopedReverseDirectoryKey) { return get(null, scopedReverseDirectoryKey); } }
FDBReverseDirectoryCache { @Nonnull public CompletableFuture<Optional<String>> get(@Nonnull final ScopedValue<Long> scopedReverseDirectoryKey) { return get(null, scopedReverseDirectoryKey); } FDBReverseDirectoryCache(@Nonnull FDBDatabase fdb);  FDBReverseDirectoryCache(@Nonnull FDBDatabase fdb, int maxRowsPerTransaction, long maxMillisPerTransaction); }
FDBReverseDirectoryCache { @Nonnull public CompletableFuture<Optional<String>> get(@Nonnull final ScopedValue<Long> scopedReverseDirectoryKey) { return get(null, scopedReverseDirectoryKey); } FDBReverseDirectoryCache(@Nonnull FDBDatabase fdb);  FDBReverseDirectoryCache(@Nonnull FDBDatabase fdb, int maxRowsPerTransaction, long maxMillisPerTransaction); int getMaxRowsPerTransaction(); void setMaxRowsPerTransaction(int maxRowsPerTransaction); long getMaxMillisPerTransaction(); void setMaxMillisPerTransaction(long maxMillisPerTransaction); long getPersistentCacheMissCount(); long getPersistentCacheHitCount(); void clearStats(); @Nonnull @SuppressWarnings("squid:S2095") // SonarQube doesn't realize that the context is closed in the returned future CompletableFuture<Optional<String>> getInReverseDirectoryCacheSubspace(@Nullable FDBStoreTimer timer, @Nonnull ScopedValue<Long> scopedReverseDirectoryKey); @Nonnull CompletableFuture<Optional<String>> get(@Nonnull final ScopedValue<Long> scopedReverseDirectoryKey); @Nonnull @SuppressWarnings("squid:S2095") // SonarQube doesn't realize that the context is closed in the returned future CompletableFuture<Optional<String>> get(@Nullable FDBStoreTimer timer, @Nonnull final ScopedValue<Long> scopedReverseDirectoryKey); CompletableFuture<Void> put(@Nonnull FDBRecordContext context, @Nonnull ScopedValue<String> pathKey); CompletableFuture<Void> putIfNotExists(@Nonnull FDBRecordContext context,
                                                  @Nonnull ScopedValue<String> scopedPathString,
                                                  @Nonnull Long pathValue); @VisibleForTesting void rebuild(LocatableResolver scope); @VisibleForTesting void waitUntilReadyForTesting(); }
FDBReverseDirectoryCache { @Nonnull public CompletableFuture<Optional<String>> get(@Nonnull final ScopedValue<Long> scopedReverseDirectoryKey) { return get(null, scopedReverseDirectoryKey); } FDBReverseDirectoryCache(@Nonnull FDBDatabase fdb);  FDBReverseDirectoryCache(@Nonnull FDBDatabase fdb, int maxRowsPerTransaction, long maxMillisPerTransaction); int getMaxRowsPerTransaction(); void setMaxRowsPerTransaction(int maxRowsPerTransaction); long getMaxMillisPerTransaction(); void setMaxMillisPerTransaction(long maxMillisPerTransaction); long getPersistentCacheMissCount(); long getPersistentCacheHitCount(); void clearStats(); @Nonnull @SuppressWarnings("squid:S2095") // SonarQube doesn't realize that the context is closed in the returned future CompletableFuture<Optional<String>> getInReverseDirectoryCacheSubspace(@Nullable FDBStoreTimer timer, @Nonnull ScopedValue<Long> scopedReverseDirectoryKey); @Nonnull CompletableFuture<Optional<String>> get(@Nonnull final ScopedValue<Long> scopedReverseDirectoryKey); @Nonnull @SuppressWarnings("squid:S2095") // SonarQube doesn't realize that the context is closed in the returned future CompletableFuture<Optional<String>> get(@Nullable FDBStoreTimer timer, @Nonnull final ScopedValue<Long> scopedReverseDirectoryKey); CompletableFuture<Void> put(@Nonnull FDBRecordContext context, @Nonnull ScopedValue<String> pathKey); CompletableFuture<Void> putIfNotExists(@Nonnull FDBRecordContext context,
                                                  @Nonnull ScopedValue<String> scopedPathString,
                                                  @Nonnull Long pathValue); @VisibleForTesting void rebuild(LocatableResolver scope); @VisibleForTesting void waitUntilReadyForTesting(); static final String REVERSE_DIRECTORY_CACHE_ENTRY; static final int MAX_ROWS_PER_TRANSACTION; static final long MAX_MILLIS_PER_TRANSACTION; }