[
https://issues.apache.org/jira/browse/METRON-601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15712247#comment-15712247
]
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_r90468459
--- 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<>();
--- End diff --
Oh, sorry guys. Ignore me. You're talking Collections.synchronizedList,
not Guava's synchronized supplier. Yeah, I think you're right.
> 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)