You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Arpad Boda (JIRA)" <ji...@apache.org> on 2019/03/04 16:22:00 UTC

[jira] [Updated] (MINIFICPP-751) RAII over JNI UTF strings

     [ https://issues.apache.org/jira/browse/MINIFICPP-751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arpad Boda updated MINIFICPP-751:
---------------------------------
    Summary: RAII over JNI UTF strings  (was: Discussion: RAII over JNI UTF strings)

> RAII over JNI UTF strings
> -------------------------
>
>                 Key: MINIFICPP-751
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-751
>             Project: NiFi MiNiFi C++
>          Issue Type: Improvement
>            Reporter: Arpad Boda
>            Assignee: Arpad Boda
>            Priority: Minor
>
> In this PR #489 I've noticed that JNI UTF string usage is error-prone as releasing can be easily missed by the developer or simply get skipped because of an exception. 
> To avoid this my idea was to create a wrapper object that can be used as an std::string and handles get/release calls.
> As [~phrocker] pointed out, this object has to be kept in a small block to avoid storing ref on both the string itself and the JNI env. 
> This can partly be achieved by blocking copy/move construction/assigment and new, but still leaves some possibility to allocate this object on heap. 
> In my opinion the restrictions above with some comments in the class would help and make it safer, although I'm not sure it worth the effort.
>  
> [~phrocker], [~aldrin], what's your opinion?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)