Hi Misagh,

Thanks for the response however creating a unit test for cas is a bit
beyond my capability (have tried before and failed).  however i asked a
colleague a bit more familiar with java to take a look at our task and the
came back with the following information which may be helpful

"""
from what I see in Kryo src:


> /** Registers the class using the lowest, next available integer ID and
the {@link Kryo#getDefaultSerializer(Class) default
> * serializer}. If the class is already registered, no change will be made
and the existing registration will be returned.
> * Registering a primitive also affects the corresponding primitive
wrapper.
> * <p>
> * Because the ID assigned is affected by the IDs registered before it,
the order classes are registered is important when
> * using this method. The order must be the same at deserialization as it
was for serialization. */
> public Registration register (Class type) {

order of registering classes is important to Kryo and the change in
registered classes affected that. If you want to use the same state, new
registered classes have to be added at the end (or with a specific id)
In general.

I'd try to reorganize register() methods on kryo - so that new ones are
after the old ones. I'm not deep enough to understand the full issue here -
but from looking a bit further, exception correlates with the javadoc I
posted from the source code.
```
https://phabricator.wikimedia.org/T273867#6814171

Thanks John

On Fri, Feb 5, 2021 at 6:10 PM Misagh Moayyed <misagh.moay...@gmail.com>
wrote:

> Could you reproduce this with a unit test?
>
> On Thursday, February 4, 2021 at 8:00:07 PM UTC+4 John Bond wrote:
>
>>
>> Hello all,
>>
>> We are currently using memcached to store store tickets using the
>> following configuration
>>
>> ```
>> cas.ticket.registry.memcached.servers=localhost:11213
>> cas.ticket.registry.memcached.transcoder=KRYO
>> ```
>> After a recent upgrade from cas 6.2.7 -> 6.3.1 i noticed that, after cas
>> is restarted, it is unable to de-serialize tickets.
>>
>> When using cas 6.3.1 we see the following error
>>
>> Caused by: java.util.concurrent.ExecutionException:
>> com.esotericsoftware.kryo.KryoException:
>> com.esotericsoftware.kryo.KryoException: Invalid ordinal for enum
>> "org.apereo.cas.validation.ValidationResponseType": 16Caused by:
>> java.util.concurrent.ExecutionException:
>> com.esotericsoftware.kryo.KryoException:
>> com.esotericsoftware.kryo.KryoException: Invalid ordinal for enum
>> "org.apereo.cas.validation.ValidationResponseType": 16
>> (full trace avalible here:
>> https://phabricator.wikimedia.org/T273867#6803365)
>>
>> When using cas 6.4.0-RC1 we get a slightly different error:
>>
>> java.lang.ClassCastException: class
>> org.apereo.cas.authentication.DefaultAuthenticationHandlerExecutionResult
>> cannot be cast to class org.apereo.cas.ticket.Ticket
>> (org.apereo.cas.authentication.DefaultAuthenticationHandlerExecutionResult
>> and org.apereo.cas.ticket.Ticket are in unnamed module of loader
>> org.apache.catalina.loader.ParallelWebappClassLoader @686449f9)
>> (full stack here: https://phabricator.wikimedia.org/T273867#6803717)
>>
>> In both cases, a naive look at the error, suggests it related to
>> unpacking the memcache stored value.  This also looks like it may be
>> related to an issue reported early with 6.3.0-RC3 (
>> https://groups.google.com/u/1/g/jasig-cas-user/c/v2VTr1y_X8M/m/_gieSp0lDAAJ).
>>
>>
>> Its also worth noting that logging out works i.e. cas can delete the
>> memcache value.  Finnaly i tested all the other transcoders and the issues
>> is only present in the KYRO transcoder.  6.3.1 and 6.4.0-RC1 both work fine
>> with the SERIAL, WHALIN and WHALINV1 trancoders
>>
>> Any guidence or pointers to help troubleshoot this issue would be most
>> welcome.  we also have a test environment to try out any fixes.
>>
>> The cas-overlay-template we are using is avlible here:
>>    *
>> https://gerrit.wikimedia.org/g/operations/software/cas-overlay-template/+/refs/heads/master
>> and we are tracking this issues in our own phabricator ticket here:
>>   * https://phabricator.wikimedia.org/T273867#6803717
>>
> --
> - Website: https://apereo.github.io/cas
> - Gitter Chatroom: https://gitter.im/apereo/cas
> - List Guidelines: https://goo.gl/1VRrw7
> - Contributions: https://goo.gl/mh7qDG
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "CAS Community" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/a/apereo.org/d/topic/cas-user/MkpgAZZn-Mw/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> cas-user+unsubscr...@apereo.org.
> To view this discussion on the web visit
> https://groups.google.com/a/apereo.org/d/msgid/cas-user/a7716b2a-4007-4910-99e6-2437c360f37fn%40apereo.org
> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/a7716b2a-4007-4910-99e6-2437c360f37fn%40apereo.org?utm_medium=email&utm_source=footer>
> .
>

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAA7%2BHnDj%3DW36NUKF8YomOqnPOi_rpBpzO0TcaYF6X7YFZKFz%3Dg%40mail.gmail.com.

Reply via email to