apache / apache/accumulo

Bypass cache on property updates.

Open
#3,005 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
1.2k
Forks
487
Avg merge
4d 5h
Merged PRs (30d)
13

Description

The prop store has a method to get values directly from ZooKeeper that does not use the cache. When updating properties this may help reduce the concurrency issues that are seen with the multiple property updates.

Instead of using:

```java
context.getPropStore().get(TablePropKey.of(context, tableId)))
```

and equivalent call using

```java
context.getPropStore().getWithoutCaching(SystemPropKey.of(context))
```

The basic idea is that the getWithoutCaching method existed to read the vprops directly from ZooKeeper and does not add the returned value to the local cache. The process reading / updating the value might not ever host anything that would benefit from caching and may help to reduce update race conditions because its not relying on watcher notification to update or invalidate the cached values.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the property-update paths around context.getPropStore().get(TablePropKey.of(context, tableId)) and the equivalent SystemPropKey read. Compare these calls with getWithoutCaching, then verify that update reads bypass the local cache and that the relevant concurrency behavior is covered by the repository's existing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.