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