Tim Robertson created BEAM-5193:
-----------------------------------

             Summary: KuduIO testWrite not correctly verifying behaviour
                 Key: BEAM-5193
                 URL: https://issues.apache.org/jira/browse/BEAM-5193
             Project: Beam
          Issue Type: Bug
          Components: io-ideas
    Affects Versions: 2.6.0
            Reporter: Tim Robertson
            Assignee: Tim Robertson
             Fix For: 2.7.0


The {{testWrite}} in {{KuduIOTest}} has 2 typos which were committed in error.

The following code block

{code:java}
    for (int i = 1; i <= targetParallelism + 1; i++) {
      expectedWriteLogs.verifyDebug(String.format(FakeWriter.LOG_OPEN_SESSION, 
i));
      expectedWriteLogs.verifyDebug(
          String.format(FakeWriter.LOG_WRITE, i)); // at least one per writer
      expectedWriteLogs.verifyDebug(String.format(FakeWriter.LOG_CLOSE_SESSION, 
i));
    }
    // verify all entries written
    for (int n = 0; n > numberRecords; n++) {
      expectedWriteLogs.verifyDebug(
          String.format(FakeWriter.LOG_WRITE_VALUE, n)); // at least one per 
writer
    }
{code}
 
Should have read:
{code:java}
    for (int i = 1; i <= targetParallelism ; i++) {
      expectedWriteLogs.verifyDebug(String.format(FakeWriter.LOG_OPEN_SESSION, 
i));
      expectedWriteLogs.verifyDebug(
          String.format(FakeWriter.LOG_WRITE, i)); // at least one per writer
      expectedWriteLogs.verifyDebug(String.format(FakeWriter.LOG_CLOSE_SESSION, 
i));
    }
    // verify all entries written
    for (int n = 0; n < numberRecords; n++) {
      expectedWriteLogs.verifyDebug(
          String.format(FakeWriter.LOG_WRITE_VALUE, n)); // at least one per 
writer
    }
{code}

This has gone unnoticed because 1) the {{targetParallelism}} is a function of 
cores available, and the test uses 3 only (which is the min in 
{{DirectRunner}}) and 2) the incorrect {{>}} in the test simply meant the loop 
was not run.




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to