Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed lombok issue pertaining to JDK10 Illegal reflective access #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Fixed lombok issue pertaining to JDK10 Illegal reflective access #1

wants to merge 1 commit into from

Conversation

Miyurz
Copy link

@Miyurz Miyurz commented Aug 30, 2018

Please refer to JDK10 Illegal reflective access

Please refer to JDK10 Illegal reflective access
@jeanlouisboudart
Copy link
Contributor

@Miyurz looks like this breaks the build:

11:08:32.536 [main] INFO io.skalogs.skaetl.kafka.KafkaUnit - Executing: CreateTopic sum-withfilter-dest
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of io.skalogs.skaetl.rules.metrics.domain.Keys (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (byte[])"{"ruleName":"sum-withfilter","ruleDSL":"SELECT null FROM metric-null-src-a WINDOW HOPPING(1 SECONDS,0 null)","project":"myproject","keys":{}}"; line: 1, column: 2]
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1438)
at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1027)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1275)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:325)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4001)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3079)
at io.skalogs.skaetl.serdes.GenericDeserializer.deserialize(GenericDeserializer.java:48)
at org.apache.kafka.common.serialization.ExtendedDeserializer$Wrapper.deserialize(ExtendedDeserializer.java:65)
at org.apache.kafka.common.serialization.ExtendedDeserializer$Wrapper.deserialize(ExtendedDeserializer.java:55)
at org.apache.kafka.streams.processor.internals.SourceNode.deserializeKey(SourceNode.java:52)
at org.apache.kafka.streams.processor.internals.RecordDeserializer.deserialize(RecordDeserializer.java:60)
at org.apache.kafka.streams.processor.internals.RecordQueue.addRawRecords(RecordQueue.java:91)
at org.apache.kafka.streams.processor.internals.PartitionGroup.addRawRecords(PartitionGroup.java:117)
at org.apache.kafka.streams.processor.internals.StreamTask.addRecords(StreamTask.java:567)
at org.apache.kafka.streams.processor.internals.StreamThread.addRecordsToTasks(StreamThread.java:900)
at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:801)
at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:749)
at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:719)

@jeanlouisboudart
Copy link
Contributor

According to the changelog https://projectlombok.org/changelog i assume it's mainly because of

BREAKING CHANGE: The in 1.16.22 introduced configuration key lombok.noArgsConstructor.extraPrivate is now false by default. Issue #1708

Have you tried your change locally ? Was it working ?

@Miyurz
Copy link
Author

Miyurz commented Aug 30, 2018

@jeanlouisboudart Yes it works locally.

@Miyurz
Copy link
Author

Miyurz commented Aug 30, 2018

@jeanlouisboudart Looks like NOT the build but tests are failing in travis ?

@jeanlouisboudart
Copy link
Contributor

Correct the integration test are failling.
Can you verify if a "mvn clean install" or "mvn clean verify" works on your side?

@jeanlouisboudart
Copy link
Contributor

Did some research on my own the problem seems to be older than that.
Problem started with v1.16.20 where they introduced :

BREAKING CHANGE: lombok config key lombok.anyConstructor.suppressConstructorProperties is now deprecated and defaults to true, that is, by default lombok no longer automatically generates @ConstructorProperties annotations. New config key lombok.anyConstructor.addConstructorProperties now exists; set it to true if you want the old behavior. Oracle more or less broke this annotation with the release of JDK9, necessitating this breaking change.

see projectlombok/lombok#1612 or https://stackoverflow.com/questions/39381474/cant-make-jackson-and-lombok-work-together for example.

I've tried one of the suggested approach consisting of adding a lombok.config at the root level of the projcet with the following content
lombok.anyConstructor.addConstructorProperties=true config.stopBubbling = true

It seems to be working as the hold behavior BUT i assume this will be broken on jdk 9 + environments.

I have also tried other suggestion but none worked yet.

Have you been able to reproduce this on your side ?

davidsenouf pushed a commit that referenced this pull request Dec 20, 2018
worker status saved after changing it's state
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.

None yet

2 participants