Andreas Neumann created TEPHRA-256: -------------------------------------- Summary: Transaction Log Synchronization is overly complex and too restrictive Key: TEPHRA-256 URL: https://issues.apache.org/jira/browse/TEPHRA-256 Project: Tephra Issue Type: Bug Reporter: Andreas Neumann Assignee: Poorna Chandra
It is had to understand what is going on in this code. There is a lot of synchronization, which essentially makes the log writing a bottleneck under high load (and we have seen that in some deployments). Also, some threads my return from the sync() before all the edits have been synced. This is because there is no synchronization around the sync() on the file system, and multiple threads my call it at the same time. SequenceFileWriter does not appear to be thread-safe, so some calls may return before the sync is actually done. However, it is hard to argue because because sync() is not documented well, and it is also deprecated and replaced with hflush() and hsync(), which have clearer semantics. -- This message was sent by Atlassian JIRA (v6.4.14#64029)