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)

Reply via email to