nifi-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John E Fortin (Jira)" <j...@apache.org>
Subject [jira] [Commented] (NIFI-6795) Fix bug in CouchbaseMapCacheClient.java which prevents new Couchbase Object from being created
Date Wed, 04 Dec 2019 21:42:00 GMT

    [ https://issues.apache.org/jira/browse/NIFI-6795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16988241#comment-16988241
] 

John E Fortin commented on NIFI-6795:
-------------------------------------

Any updates on this?  This bug is preventing me from upgrading as I am using Couchbase...

> 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
>            Priority: Major
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> 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)

Mime
View raw message