Skip to content

OpenJDK historical segment hand-off fails with Illegal Field Name error#8813

Closed
tonyschwartz wants to merge 1 commit intoapache:masterfrom
tonyschwartz:feature-DruidCoordinator-openjdk-IllegalFieldName-fix
Closed

OpenJDK historical segment hand-off fails with Illegal Field Name error#8813
tonyschwartz wants to merge 1 commit intoapache:masterfrom
tonyschwartz:feature-DruidCoordinator-openjdk-IllegalFieldName-fix

Conversation

@tonyschwartz
Copy link
Copy Markdown

Description

While trying to use Druid (apache incubating) on OpenJDK (I have tried to run it with the latest 8 and 11 versions of OpenJDK), everything seems to work well, but when the segments go to be handed off to the "historical" segment manager (I'm not sure of the details of this), the app fails. All my segments then become "unavailable". coordinator-overlord.log shows this error:
2019-10-31T16:23:02,953 ERROR
[LeaderSelector[/druid/coordinator/_COORDINATOR]]
org.apache.curator.framework.listen.ListenerContainer - Listener
(org.apache.druid.curator.discovery.CuratorDruidLeaderSelector$1@1e7d3d87
)
threw an exception
java.lang.ClassFormatError: Illegal field name
"org.apache.druid.server.coordinator.DruidCoordinator$this" in class

a code change to: DruidCoordinator.java @line 690. the instance inner
class CoordinatorHistoricalManagerRunnable has a constructor that is
referencing DruidCoordinator.this prior to the super(...) constructor
call completing. This causes a failure. A work-around is to pass the
coordinator
instance to the constructor:
CoordinatorHistoricalManagerRunnable(final DruidCoordinator druidCoordinator, final int
startingLeaderCounter)
and then, reference druidCoordinator instead of DruidCoordinator.this throughout that
constructor.


Key changed/added classes in this PR
  • DruidCoordinator.CoordinatorHistoricalManagerRunnable

…e DruidCoordinator.this is not yet accessible in the instance inner class constructor prior to super invocation completion.
@stale
Copy link
Copy Markdown

stale Bot commented Jan 1, 2020

This pull request has been marked as stale due to 60 days of inactivity. It will be closed in 4 weeks if no further activity occurs. If you think that's incorrect or this pull request should instead be reviewed, please simply write any comment. Even if closed, you can still revive the PR at any time or discuss it on the dev@druid.apache.org list. Thank you for your contributions.

@stale stale Bot added the stale label Jan 1, 2020
@stale
Copy link
Copy Markdown

stale Bot commented Jan 30, 2020

This pull request/issue has been closed due to lack of activity. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@stale stale Bot closed this Jan 30, 2020
@clintropolis clintropolis reopened this Feb 29, 2020
@stale
Copy link
Copy Markdown

stale Bot commented Feb 29, 2020

This pull request/issue is no longer marked as stale.

@stale stale Bot removed the stale label Feb 29, 2020
@clintropolis
Copy link
Copy Markdown
Member

@tonyschwartz apologies for missing this PR before the stale bot got to it. I had also previously encountered this issue, and re-opened this PR yesterday to confirm if the problem still exists in latest master and ask if you would be interested in fixing up the conflicts, however I believe the refactor in #7306 has also fixed what was causing the issue. Segments loaded correctly for me using Druid compiled with java 8 running on java 11, so I am going to close it again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants