[
https://issues.apache.org/jira/browse/HIVE-23540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17118642#comment-17118642
]
David Mollitor commented on HIVE-23540:
---------------------------------------
[~gopalv] Thanks. Good point: I updated the JIRA with the specific findbugs
warning. It's probably not too consequential, but I wanted to close some of
these warnings out to remove the chatter from the plugin.
Ya, I can revert the singleton change, but in general singletons of this nature
are the best bet for such a large and complicated piece of software. Otherwise
you run into issues with NullPointerExceptions and those are just very annoying
in a production system. For example, there is no 'null' check in the
{{reset()}} method before accessing {{cacheBuffers}}. Since the variable is
not marked as 'volatile' the value should be cached by the thread, and really,
for something like LLAP, it probably makes the most sense to focus on code
clarity, ease, and safety. If there is a performance problem from some of the
overhead, the fix is super easy: scale. Just fire up another daemon; that's
what Google does.
https://github.com/google/guava/wiki/UsingAndAvoidingNullExplained
{code:java|title=EncodedColumnBatch.java}
public void reset() {
cacheBuffers.clear();
refCount.set(0);
indexBaseOffset = 0;
}
{code}
> Fix Findbugs Warnings in EncodedColumnBatch
> -------------------------------------------
>
> Key: HIVE-23540
> URL: https://issues.apache.org/jira/browse/HIVE-23540
> Project: Hive
> Issue Type: Improvement
> Components: storage-api
> Reporter: David Mollitor
> Assignee: David Mollitor
> Priority: Minor
> Attachments: HIVE-23540.1.patch
>
>
> bq. Strings should not be concatenated using '+' in a loop
--
This message was sent by Atlassian Jira
(v8.3.4#803005)