Just saw a similar problem for the first time with `
:beam-sdks-java-io-clickhouse:compileJava`; I got the errors below toward
the end of a full-project compile, and when I re-ran just that target,
compilation succeeded.

Intriguingly, extensions/sql and clickhouse are the only two modules that
use the compileJavacc task to generate code that then gets compileJava'd.
Something is up with it!

I looked at the debug log from my previous email a bit, but haven't found
anything.

```
> Task :beam-sdks-java-io-clickhouse:compileJava
…/sdks/java/io/clickhouse/src/main/java/org/apache/beam/sdk/io/clickhouse/TableSchema.java:228:
error: cannot find symbol
        return new
org.apache.beam.sdk.io.clickhouse.impl.parser.ColumnTypeParser(
                                                                ^
  symbol:   class ColumnTypeParser
  location: package org.apache.beam.sdk.io.clickhouse.impl.parser
…/sdks/java/io/clickhouse/src/main/java/org/apache/beam/sdk/io/clickhouse/TableSchema.java:248:
error: cannot find symbol
            new
org.apache.beam.sdk.io.clickhouse.impl.parser.ColumnTypeParser(
                                                             ^
  symbol:   class ColumnTypeParser
  location: package org.apache.beam.sdk.io.clickhouse.impl.parser
2 errors

> Task :beam-sdks-java-io-clickhouse:compileJava FAILED
```

On Sun, Feb 17, 2019 at 4:00 PM Ryan Williams <r...@runsascoded.com> wrote:

> I just captured a debug log while hitting this issue, running: `./gradlew
> -d :beam-sdks-java-extensions-sql:compileJava`
>
> The log is here
> <https://gist.githubusercontent.com/ryan-williams/1c0178b7a0f33a25c62a5d5c07d690fa/raw/05f74ca200149bd04e7aa6426bf7de9a651b0a6d/gistfile1.txt>.
> It's 18MB and doesn't really load in Chrome for me; I'd recommend wget'ing
> it.
>
> I haven't had a chance to look at it too deeply yet.
>
> On Sun, Feb 17, 2019 at 1:49 PM Ryan Williams <r...@runsascoded.com>
> wrote:
>
>> Good to know, Reuven!
>>
>> I just hit it again with `--console=verbose`, and have more info:
>> https://gist.github.com/ryan-williams/252597d9ecd6973378d5cc2e9dabceb1
>>
>> It seems that the generated files are correctly in place when the failing
>> compileJava is invoked.
>>
>> Perhaps something is wrong (and nondeterministic) with the classpath of
>> the `:beam-sdks-java-extensions-sql:compileJava` task?
>>
>> I'll see if I can run with more verbose/DEBUG logging and get any more
>> info.
>>
>> On Sun, Feb 17, 2019 at 1:42 PM Reuven Lax <re...@google.com> wrote:
>>
>>> I also see this almost every other run.
>>>
>>> On Sun, Feb 17, 2019 at 8:24 AM Ryan Williams <r...@runsascoded.com>
>>> wrote:
>>>
>>>> I still see this about 20% of the time I run `./gradlew compileTestJava
>>>> spotlessApply checkstyleMain checkstyleTest` (with 8-way parallelism),
>>>> which I've taken to running as a kind of "pre-PreCommit" (for Java).
>>>>
>>>> In total I'd estimate I've seen this error 20 times (across multiple
>>>> `./gradlew clean`s and spanning several weeks), but never twice in a row: I
>>>> always immediately re-run, and the error goes away.
>>>>
>>>> That seems consistent with the idea that gradle is racing the codegen
>>>> task against the compile task that requires the codegen's outputs.
>>>>
>>>> However, `./gradlew -p sdks/java/extensions/sql -m compileJava | grep
>>>> compileJavacc` implies that Gradle knows that compilation depends on the
>>>> codegen having run.
>>>>
>>>> Here are three successive invocations of `./gradlew compileTestJava
>>>> spotlessApply checkstyleMain checkstyleTest`
>>>> <https://gist.github.com/ryan-williams/6d2735b2484e9459be656abf379533c5>
>>>> ;
>>>>
>>>>    - The first one succeeds (and includes output showing that the
>>>>    codegen task, `:beam-sdks-java-extensions-sql:compileJavacc`, was run).
>>>>    - Then, I rebased on one new upstream commit and ran again, and saw
>>>>    the failure.
>>>>    - Immediately re-running saw the failure go away.
>>>>
>>>> I guess in that output, tasks that are run but produce no stdout/stderr
>>>> are elided from the output, so we can't completely tell when the codegen
>>>> and compile tasks in question are being run. I'll start running with
>>>> --console=verbose
>>>> <https://stackoverflow.com/questions/45883963/gradle-4-0-does-not-display-executed-tasks-in-command-line#comment92914258_45889966>,
>>>> which I think will give a better sense of how this is happening.
>>>>
>>>>
>>>> On Fri, Feb 8, 2019 at 12:41 AM Ryan Williams <r...@runsascoded.com>
>>>> wrote:
>>>>
>>>>> After your last message, Alex, I saw the issue on a branch with
>>>>> minimal unrelated changes on top of b4b5495307
>>>>> <https://github.com/apache/beam/commit/b4b549530730d9e0283ad0cdb203d384a107dfbf>
>>>>>  (January
>>>>> 28).
>>>>>
>>>>> I ran `./gradlew clean` for the first time in a while at that time,
>>>>> and worked happily for 11 days, but just saw the issue again on a branch
>>>>> rebased on top of 381ab55b59
>>>>> <https://github.com/apache/beam/commit/381ab55b59> (today):
>>>>>
>>>>> > Task :beam-sdks-java-extensions-sql:compileJava FAILED
>>>>> …/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/JdbcFactory.java:29:
>>>>> error: cannot find symbol
>>>>> import
>>>>> org.apache.beam.sdk.extensions.sql.impl.parser.impl.BeamSqlParserImpl;
>>>>>                                                           ^
>>>>>   symbol:   class BeamSqlParserImpl
>>>>>   location: package org.apache.beam.sdk.extensions.sql.impl.parser.impl
>>>>> 1 error
>>>>>
>>>>> Every time I've seen it, I immediately re-run the compile, and it
>>>>> succeeds.
>>>>>
>>>>> Perhaps something is still wrong with my environment, but otherwise it
>>>>> would seem that something is still flaky here.
>>>>>
>>>>> I'm compiling on an 8-core macOS machine, fwiw, and usually running
>>>>> `./gradlew compileTestJava` which compiles many projects concurrently.
>>>>>
>>>>> On Mon, Jan 28, 2019 at 4:12 PM Alex Amato <ajam...@google.com> wrote:
>>>>>
>>>>>> If it continues to occur, maybe it is an environmental issue, be sure
>>>>>> to try to clean as well.
>>>>>> ./gradlew clean
>>>>>>
>>>>>> On Mon, Jan 28, 2019 at 11:12 AM Ryan Williams <r...@runsascoded.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Yea I was rebased on top of a more recent master than your previous
>>>>>>> message, when I saw it again. Perhaps I was mistaken. I'll ping here if 
>>>>>>> I
>>>>>>> see it again, thanks.
>>>>>>>
>>>>>>> On Mon, Jan 28, 2019 at 1:52 PM Alex Amato <ajam...@google.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> After I did a rebase, it went away for me. So I think that this
>>>>>>>> should work. Are you saying that you did rebase ontop of master and it
>>>>>>>> still occurred? Strange.
>>>>>>>>
>>>>>>>> On Sat, Jan 26, 2019 at 3:48 PM Ryan Williams <r...@runsascoded.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hm, I just encountered this again on a branch that based on
>>>>>>>>> 5b46b02b49 (top of trunk from this afternoon). Is it definitely 
>>>>>>>>> supposed to
>>>>>>>>> be fixed?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Jan 24, 2019 at 9:19 PM Alex Amato <ajam...@google.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Please try rebasing from master, I believe this issue has been
>>>>>>>>>> resolved.
>>>>>>>>>>
>>>>>>>>>> On Thu, Jan 24, 2019 at 3:29 PM Ryan Williams <
>>>>>>>>>> r...@runsascoded.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> I'm seeing every ≈third `./gradlew compileJava` fail locally due
>>>>>>>>>>> to this; re-running the commit has always succeeded, so far.
>>>>>>>>>>>
>>>>>>>>>>> Sounds like there is not an immediate fix in the works / no one
>>>>>>>>>>> assigned on the JIRA?
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jan 23, 2019 at 3:17 PM Kenneth Knowles <k...@apache.org>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> This might connect to vendoring Calcite. It will be easiest,
>>>>>>>>>>>> and have the best incremental build, if we separate the generated 
>>>>>>>>>>>> code into
>>>>>>>>>>>> its own module that has relocation to match the vendored Calcite.
>>>>>>>>>>>>
>>>>>>>>>>>> Kenn
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Jan 23, 2019 at 11:29 AM Anton Kedin <ke...@google.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> We don't pre-generate the code as a separate step. Code gen
>>>>>>>>>>>>> from the SQL parser syntax spec and its compilation happens both 
>>>>>>>>>>>>> during the
>>>>>>>>>>>>> Beam SQL build task. Splitting the code generation and 
>>>>>>>>>>>>> compilation might
>>>>>>>>>>>>> not be trivial. We definitely should look into fixing this though.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Anton
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Jan 23, 2019 at 11:13 AM Alex Amato <
>>>>>>>>>>>>> ajam...@google.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Okay, make sense perhaps we can somehow make it fail when it
>>>>>>>>>>>>>> fails to generate the dep, rather than when compiling the java 
>>>>>>>>>>>>>> code later on
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Jan 23, 2019 at 11:12 AM Anton Kedin <
>>>>>>>>>>>>>> ke...@google.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ParserImpl is autogenerated by Calcite at build time. It
>>>>>>>>>>>>>>> seems that there's a race condition there and it sometimes 
>>>>>>>>>>>>>>> fails. Rerunning
>>>>>>>>>>>>>>> the build works for me.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Anton
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Jan 23, 2019, 11:06 AM Alex Amato <
>>>>>>>>>>>>>>> ajam...@google.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> https://jira.apache.org/jira/browse/BEAM-6495?filter=-2
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Any ideas, how this got through the precommit?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> > Task :beam-sdks-java-extensions-sql:compileJava FAILED
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> /usr/local/google/home/ajamato/go/src/
>>>>>>>>>>>>>>>> github.com/apache/beam/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/JdbcFactory.java:29:
>>>>>>>>>>>>>>>> error: cannot find symbol
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> import
>>>>>>>>>>>>>>>> org.apache.beam.sdk.extensions.sql.impl.parser.impl.BeamSqlParserImpl;
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                                                           ^
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>   symbol:   class BeamSqlParserImpl
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>   location: package
>>>>>>>>>>>>>>>> org.apache.beam.sdk.extensions.sql.impl.parser.impl
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 1 error
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>

Reply via email to