John E Fortin created NIFI-6795:
-----------------------------------
Summary: Fix bug in CouchbaseMapCacheClient.java which prevents
new Couchbase Object from being created
Key: NIFI-6795
URL: https://issues.apache.org/jira/browse/NIFI-6795
Project: Apache NiFi
Issue Type: Bug
Components: Core Framework
Reporter: John E Fortin
The function below has a bug:
{code:java}
@Override
public <K, V> boolean replace(AtomicCacheEntry<K, V, Long> entry,
Serializer<K> keySerializer, Serializer<V> valueSerializer) throws IOException {
final Long revision = entry.getRevision().orElse(0L);
final String docId = toDocumentId(entry.getKey(), keySerializer);
final Document doc = toDocument(docId, entry.getValue(), valueSerializer,
revision);
try {
if (revision < 0) {
// If the document does not exist yet, try to create one.
try {
bucket.insert(doc);
return true;
} catch (DocumentAlreadyExistsException e) {
return false;
}{code}
{code:java}
final Long revision = entry.getRevision().orElse(0L);{code}
should be
{code:java}
final Long revision = entry.getRevision().orElse(-1L);{code}
otherwise a new document never gets created in the check
{code:java}
if (revision < 0) {
// If the document does not exist yet, try to create one.
try {
bucket.insert(doc);
return true;
} catch (DocumentAlreadyExistsException e) {
return false;
}{code}
I have tested the code change locally and it works properly...
--John
--
This message was sent by Atlassian Jira
(v8.3.4#803005)