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

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

Agreed...

 

Unfortunately I got wrapped around the axel trying to get the pull request 
created properly.  Sometimes git and I have a love hate relationship.

 

As you noted, the patch is very simple and I’m currently using it in production.

 

I’m more than happy to try another pull request, but I’m note sure exactly 
where I went wrong with it.

 

Regards,

—John

> 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)

Reply via email to