accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-4153) Change getCodec method in BCFile's Compression class
Date Wed, 24 Feb 2016 23:35:18 GMT

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

ASF GitHub Bot commented on ACCUMULO-4153:
------------------------------------------

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

    https://github.com/apache/accumulo/pull/73#discussion_r54026666
  
    --- Diff: core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/Compression.java
---
    @@ -147,25 +148,27 @@ public synchronized OutputStream createCompressionStream(OutputStream
downStream
         },
     
         GZ(COMPRESSION_GZ) {
    -      private transient DefaultCodec codec;
    +      private transient AtomicReference<DefaultCodec> codec = new AtomicReference<DefaultCodec>();
     
           @Override
    -      synchronized CompressionCodec getCodec() {
    -        if (codec == null) {
    -          codec = new DefaultCodec();
    -          codec.setConf(conf);
    +      CompressionCodec getCodec() {
    +        DefaultCodec resultCodec = codec.get();
    +        if (null == resultCodec) {
    +          DefaultCodec newCodec = new DefaultCodec();
    --- End diff --
    
    I had tunnel vision when I looked at the change and didn't even spend much time looking
or thinking about anything else. You guys are absolutely right and that negates the need for
the AtomicReference. I'll try and apply some time tomorrow to make these changes. 


> Change getCodec method in BCFile's Compression class
> ----------------------------------------------------
>
>                 Key: ACCUMULO-4153
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4153
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.6.5
>            Reporter: marco polo
>            Assignee: marco polo
>            Priority: Minor
>             Fix For: 1.6.6, 1.7.2, 1.8.0
>
>         Attachments: patchCompression
>
>
> Seeing major blockages blockages on the Synchronized method of getCodec.  My initial
change was to change it to double checked locking; however, spoke with [~kturner] and I'm
changing this to an AtomicReference. Have a patch for the former but am in the process of
testing the AtomicReference patch
> Note this is for Gzip



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message