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

Fix ConcurrentModificationException on Redis / PT #6069

Merged
merged 1 commit into from
Jun 25, 2024

Conversation

leleuj
Copy link
Contributor

@leleuj leleuj commented Jun 25, 2024

master: https://github.com/apereo/cas/pull/6068

@apereocas-bot apereocas-bot added this to the 7.0.5 milestone Jun 25, 2024
@apereocas-bot apereocas-bot added Redis Auto Merge Merge pull requests submitted via automated bots, such as RenovateBot, etc Under Review and removed Remember: Port Forward labels Jun 25, 2024
Copy link
Contributor

@apereocas-bot apereocas-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request is approved and it will be merged shortly. Thank you very much! 🎉🎉

image

@apereocas-bot apereocas-bot merged commit 7a3fc4b into apereo:7.0.x Jun 25, 2024
4 of 5 checks passed
@leleuj leleuj deleted the concurrentpt70 branch June 25, 2024 13:46
@mmoayyed
Copy link
Member

Please note that the change here breaks both ignite and memcached ticket registries. Apache ignite now requires special and additional add-opens parameters to get access to the concurrent hash map, and memcached breaks because it cannot serialize the new map type.

@mmoayyed
Copy link
Member

CasKryoTranscoderTests > verifyEncodeDecodeTGTImpl() FAILED
    com.esotericsoftware.kryo.KryoException: com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException: Class is not registered: java.util.concurrent.ConcurrentHashMap
    Note: To register this class use: kryo.register(java.util.concurrent.ConcurrentHashMap.class);
    Serialization trace:
    services (org.apereo.cas.ticket.TicketGrantingTicketImpl)
        at org.apereo.cas.memcached.kryo.CasKryoTranscoder.encode(CasKryoTranscoder.java:57)
        at org.apereo.cas.memcached.kryo.CasKryoTranscoderTests.verifyEncodeDecodeTGTImpl(CasKryoTranscoderTests.java:176)

        Caused by:
        com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException: Class is not registered: java.util.concurrent.ConcurrentHashMap
        Note: To register this class use: kryo.register(java.util.concurrent.ConcurrentHashMap.class);
        Serialization trace:
        services (org.apereo.cas.ticket.TicketGrantingTicketImpl)
            at com.esotericsoftware.kryo.serializers.ReflectField.write(ReflectField.java:102)
            at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:109)
            at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:711)
            at org.apereo.cas.memcached.kryo.CasKryoTranscoder.encode(CasKryoTranscoder.java:52)
            ... 1 more

            Caused by:
            java.lang.IllegalArgumentException: Class is not registered: java.util.concurrent.ConcurrentHashMap
            Note: To register this class use: kryo.register(java.util.concurrent.ConcurrentHashMap.class);
                at com.esotericsoftware.kryo.Kryo.getRegistration(Kryo.java:579)
                at com.esotericsoftware.kryo.util.DefaultClassResolver.writeClass(DefaultClassResolver.java:112)
                at com.esotericsoftware.kryo.Kryo.writeClass(Kryo.java:613)
                at com.esotericsoftware.kryo.serializers.ReflectField.write(ReflectField.java:68)
                ... 4 more

@leleuj
Copy link
Contributor Author

leleuj commented Jun 26, 2024

I was confident about the PR as the bot approved and merged it. I will check and fix that.

leleuj added a commit to leleuj/cas that referenced this pull request Jun 26, 2024
@leleuj
Copy link
Contributor Author

leleuj commented Jun 26, 2024

I just opened: #6072 to fix the build...

@leleuj
Copy link
Contributor Author

leleuj commented Jun 26, 2024

Despite adding the --add-opens java.base/java.util=ALL-UNNAMED at the JVM level: https://github.com/apereo/cas/actions/runs/9674994424/job/26691747771#step:7:15, the Ignite tests still fail.

I don't to see what I'm missing...

GitHub
Apereo CAS - Identity & Single Sign On for all earthlings and beyond. - Fix build after #6069 · ceab4b1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Auto Merge Merge pull requests submitted via automated bots, such as RenovateBot, etc CI Redis Under Review
Projects
None yet
3 participants