Github user viswaug commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/3113#discussion_r231638762
  
    --- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSQL.java
 ---
    @@ -134,6 +134,14 @@
                 
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
                 .build();
     
    +    static final PropertyDescriptor AUTO_COMMIT = new 
PropertyDescriptor.Builder()
    +            .name("database-session-autocommit")
    +            .displayName("Database session autocommit value")
    +            .description("The autocommit mode to set on the database 
connection being used.")
    +            .allowableValues("true", "false")
    +            .defaultValue("false")
    +            .build();
    --- End diff --
    
    @ijokarumawak  Here is the snowflake documentation that refers to the locks 
being held for ever during abruptly disconnected sessions. 
    
https://docs.snowflake.net/manuals/sql-reference/transactions.html#aborting-transactions
    
    I have also confirmed this with the snowflake support ticket and the 
resolution suggested was to set the autocommit value to true. 
    
    > I did reviewed the query id thanks for providing it. The query is 
associated to session id 2392474452590 and from the session id we found that 
there was an alter session set autocommit=false was executed (query id for your 
reference 10d44ff5-69a4-4d8c-91c3-a206c4a126b8) and after that there was no 
commit executed explicitly. This lead to the open transactions in the session 
and hence there was a lock created. 
    
    > By default autocommit is true and, once all the transaction is completed, 
it gets automatically committed. The commit query will not be visible in the 
history as this is a background task. For best practices, we recommend to 
manually commit the transactions if the session has set to autocommit=false . 
    
    > Yes, there is a difference between a session being "closed" versus 
"terminated abruptly". Session being "closed" implies to those sessions which 
is closed manually after all the transactions is completed . Session being 
"terminated abruptly" implies to those sessions which terminates due to various 
reason like network issues, system outage ..etc. 
    
    I am done making the changes you had requested. I will have a PR out soon. 
I just need to hone my git skills to combine these commits and send a PR ... 
still figuring that part out ...


---

Reply via email to