[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17757960#comment-17757960 ] Ran Tao commented on CALCITE-5909: -- [~libenchao] thanks. agree with you. this case always fail. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Assignee: Ran Tao >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17757903#comment-17757903 ] Benchao Li commented on CALCITE-5909: - [~taoran] I see used a different commit message from the Jira title, usually we keep them the same, concisely describe the symptoms or what should be the expected behavior. I presume that "Sometimes" is not needed, it should "always" fail if you run it in IDE directly, am I right? Then I propose to change the Jira title and commit message to "SqlParserTest.testNoUnintendedNewReservedKeywords fails in IDE while passes in command line", if you and others agree, I'll go on and merge it with this message. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Assignee: Ran Tao >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17754270#comment-17754270 ] Ran Tao commented on CALCITE-5909: -- got it. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Assignee: Ran Tao >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17754219#comment-17754219 ] Julian Hyde commented on CALCITE-5909: -- Sorry, but please don't ask me personally to review stuff. When others see that I have been asked, they don't step forward to review instead. I have already made my contribution to this case. My contribution has been to get the design right. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Assignee: Ran Tao >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753909#comment-17753909 ] Ran Tao commented on CALCITE-5909: -- [~julianhyde] yes. sure. when the PR is ready, i will ping you. thanks > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Assignee: Ran Tao >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753571#comment-17753571 ] Julian Hyde commented on CALCITE-5909: -- Could you fix CALCITE-5920 in a different commit but the same PR? > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Assignee: Ran Tao >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753451#comment-17753451 ] Ran Tao commented on CALCITE-5909: -- [~julianhyde] yes, make sense. I have moved it to CoreParserTest, so it can be build test covered. I have solved some mismatched keywords in the PR above. however it was blocked on [CALCITE-5920|https://issues.apache.org/jira/browse/CALCITE-5920] > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753423#comment-17753423 ] Julian Hyde commented on CALCITE-5909: -- Thanks for your detective work, [~taoran]. It sounds very plausible that we simply stopped running {{SqlParserTest}} directly, and only run its sub-classes. The reason we do not run this test in sub-classes is that sub-classes will correspond to a different parser, which may legitimately have a different set of keywords. I think the solution is to move the {{testNoUnintendedNewReservedKeywords}} method from {{SqlParserTest}} to {{CoreParserTest}}. You should still prevent it from running in sub-classes. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753027#comment-17753027 ] Ran Tao commented on CALCITE-5909: -- [~shenlang] yes. i have noticed this commit either. however i thinks it's a workaround. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753019#comment-17753019 ] LakeShen commented on CALCITE-5909: --- Hi [~taoran] ,thank you so much for going so deep into this issue,I will reproduce this problem locally today, and I will communicate with you when I have an idea. I think we should understand why testNoUnintendedNewReservedKeywords this method has a limitation for the child test class not run.I took a look for code git commits: {code:java} [CALCITE-2457] JUnit 4 -> 5: migrate Assume -> Assumptions, drop suites, remove junit4 from core classpath {code} Let's see if we could get some information from JIRA above. Thanks again for your professionalism. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Priority: Minor > Labels: pull-request-available > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17752849#comment-17752849 ] Ran Tao commented on CALCITE-5909: -- [~thomas.rebele] thanks for suggestions. however, this problem is not the reason of ide, caching, multi-thread or data. I checked this problem carefully and in-depth. In fact, this case is wrong indeed. The reason why gradle build is normal is because this SqlParserTest was moved into the src/main directory in calcite-1.28, that is, it will not be executed as a unit test. But inheriting its subclasses such as BabelParserTest, ServerParserTest can execute it indirectly. But in calcite-1.28, for this case, it is restricted and cannot be executed in subclasses, that is, it cannot be included in the build or test phase in the end. Here are some important changes: *<= calcite-1.27.0:* SqlParserTest is in `core/test` dir (this case is right and can be covered by gradle build process) *calcite-1.28.0 ~ calcite-1.33.0:* move SqlParserTest to `testkit/main` dir (SqlParserTest not in test dir but it can be coverd by BabelParserTest, ServerParserTest indirectly. all cases in SqlParserTest run success except testNoUnintendedNewReservedKeywords, because this case has `not-run-for-subclasses` limitation, so it can't be covered in gradle build process, but this case is right.) *>= calcite-1.34.0:* this case is wrong, because the keywords are changed in these released version, but not update the static field of SqlParserTest.KEYWORDS. because of the reason above we can't found this failure in the build or ci process. The solution: 1. fix this case. I have opened a PR to fix it. but calcite-5564(I have added the link) intrduce PERCENTILE_CONT/PERCENTILE_DISC,to let it be NonReservedKeywords, however PERCENTILE_CONT/PERCENTILE_DISC is reserved keywords from sql-2008. it blocked my PR. 2.Only fix this case is not enough, it will be failed if we not cover it in calcite build process. I have try 2 ways. first way is re-move SqlParserTest to test directory, it's very difficult, because many src/main classes use it. If move it to test dir, these classes can not reference it. second way is remove the `not-run-for-subclasses` this limitation, it meets some other problems, however, it looks like can be solved (I hope get some feedbacks or contexts). In terms of priority, I think PERCENTILE_CONT, PERCENTILE_DISC keywords need to be solved first. [~julianhyde] If you have time, pls help to check it. [~shenlang] thanks for report this issue. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Priority: Minor > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17752366#comment-17752366 ] Thomas Rebele commented on CALCITE-5909: A possible explanation why it fails in the IDE, but not from the command line: on or more tests X change some data or does not clean up after its execution. With a randomized test order the tests X may be executed before or after testNoUnintendedNewReservedKeywords, leading to a failure in the former case. Finding which tests belong to X can help finding the cause. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Priority: Minor > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (CALCITE-5909) Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE but passes when run from the command line
[ https://issues.apache.org/jira/browse/CALCITE-5909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17752223#comment-17752223 ] Julian Hyde commented on CALCITE-5909: -- I've reopened it, because a flaky test is a problem. It's not high priority, but if someone can find a fix - as I and [~taoran] said above, we suspect caching - it would be appreciated. > Sometimes SqlParserTest.testNoUnintendedNewReservedKeywords fails in the IDE > but passes when run from the command line > -- > > Key: CALCITE-5909 > URL: https://issues.apache.org/jira/browse/CALCITE-5909 > Project: Calcite > Issue Type: Bug > Components: tests >Reporter: LakeShen >Priority: Minor > Attachments: image-2023-08-08-23-32-55-466.png > > > When I run the SqlParserTest,the testNoUnintendedNewReservedKeywords method > failed,the exception like this: > {code:java} > java.lang.AssertionError: The parser has at least one new reserved keyword. > Are you sure it should be reserved? Difference: {code} > The picture like this: > !image-2023-08-08-23-32-55-466.png|width=1543,height=496! > I could fix this problem.More importantly, why is this method failing, but > the Calcite pipeline is passing? I think we should look at something we missed -- This message was sent by Atlassian Jira (v8.20.10#820010)