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

ASF GitHub Bot commented on METRON-601:
---------------------------------------

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

    https://github.com/apache/incubator-metron/pull/381#discussion_r90467737
  
    --- Diff: 
metron-platform/metron-test-utilities/src/main/java/org/apache/metron/test/mock/MockHTable.java
 ---
    @@ -437,15 +463,14 @@ public ResultScanner getScanner(byte[] family, byte[] 
qualifier)
         return getScanner(scan);
       }
     
    -  List<Put> putLog = new ArrayList<>();
    -
       public List<Put> getPutLog() {
    -    return putLog;
    +    return ImmutableList.copyOf(putLog.get());
       }
     
       @Override
       public void put(Put put) throws IOException {
    -    putLog.add(put);
    +    putLog.get().add(put);
    --- End diff --
    
    See my response to @justinleet per `synchronizedList`.
    
    Per your testing question: "I have triggered this code to run in Travis CI 
many times without seeing a failure. Prior to this the Travis CI builds would 
more likely fail than not."



> MockHTable Put Log is Not Thread Safe
> -------------------------------------
>
>                 Key: METRON-601
>                 URL: https://issues.apache.org/jira/browse/METRON-601
>             Project: Metron
>          Issue Type: Sub-task
>            Reporter: Nick Allen
>            Assignee: Nick Allen
>
> The MockHTable uses an ArrayList to store a log of Puts that have been 
> submitted against the MockHTable.  The MockHTable, along with the put log, is 
> accessed from multiple threads during the integration tests.  Access to the 
> Put log is not thread safe, which is likely at least one cause of METRON-597.
> The Put log is used by multiple tests, but more so by the 
> ProfilerIntegrationTest.  This tests polls the list to block the thread until 
> the expected number of Puts have been submitted.  This is likely why this 
> test is more impacted by this issue than others.
> The Put Log needs to made thread safe.  See 
> `org.apache.metron.test.mock.MockHTable.putLog`



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

Reply via email to