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

mancenter serialization configuration ignored #273

Open
jeusdi opened this issue Mar 7, 2022 · 0 comments
Open

mancenter serialization configuration ignored #273

jeusdi opened this issue Mar 7, 2022 · 0 comments

Comments

@jeusdi
Copy link

jeusdi commented Mar 7, 2022

I've created this hazelcast configuration into my mancenter on /config/hazelcast-client.yaml:

hazelcast-client:
  network:
    kubernetes:
      enabled: true
      namespace: ${namespace}
      service-name: ${serviceName}
  serialization:
    serializers:
    - class-name: me.jeusdi.fhir.hazelcast.serializer.PractitionerSerializer
      type-class: me.jeusdi.fhir.hazelcast.model.Practitioner

This is my mancenter log:

$ kubectl logs -f hazelcast-external-mancenter-0

Container support enabled. Using automatic heap sizing. JVM will use up to 80% of the memory limit of the container.
Executing command specified by MC_INIT_CMD for container initialization.
WARNING: Cluster null already exists.

To see the full stack trace, re-run with the -v/--verbose option.
##################################################
# Initialisation complete, starting now....      #
##################################################
+ exec java --add-opens java.base/java.lang=ALL-UNNAMED -server -Dhazelcast.mc.home=/data -Djava.net.preferIPv4Stack=true --illegal-access=permit -Dhazelcast.mc.healthCheck.enable=true -DserviceName=hazelcast-external -Dnamespace=default -Dhazelcast.mc.tls.enabled=false -Dhazelcast.mc.lock.skip=true -XX:+UseContainerSupport -XX:MaxRAMPercentage=80 -cp '/opt/hazelcast/management-center/hazelcast-management-center-5.0.4.jar:/data/custom:/data/custom/*' -Dhazelcast.mc.contextPath=/ -Dhazelcast.mc.http.port=8080 -Dhazelcast.mc.https.port=8443 com.hazelcast.webmonitor.Launcher
2022-03-07 20:54:28,614 [ INFO] [main] [c.h.w.c.BuildInfo]: Hazelcast Management Center 5.0.4 (20211220 - c20d028), Hazelcast client version: 5.0.1, embedded Jetty version: 9.4.43.v20210629
2022-03-07 20:54:28,718 [ INFO] [main] [c.h.w.Launcher]: Health check is enabled and available at http://localhost:8081/health
2022-03-07 20:54:30,830 [ INFO] [main] [c.h.w.c.SqlDbConfig]: Checking DB for required migrations.
2022-03-07 20:54:31,142 [ INFO] [main] [c.h.w.c.SqlDbConfig]: Number of applied DB migrations: 0.
2022-03-07 20:54:31,322 [ INFO] [main] [c.h.w.s.s.i.DisableLoginStrategy]: Login will be disabled for 5 seconds after 3 failed login attempts. For every 3 consecutive failed login attempts, disable period will be multiplied by 10.
2022-03-07 20:54:33,134 [ INFO] [main] [c.h.w.s.ClusterManager]: Connecting to 1 enabled cluster(s) on startup.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.hazelcast.internal.networking.nio.SelectorOptimizer (file:/opt/hazelcast/management-center/hazelcast-management-center-5.0.4.jar) to field sun.nio.ch.SelectorImpl.selectedKeys
WARNING: Please consider reporting this to the maintainers of com.hazelcast.internal.networking.nio.SelectorOptimizer
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2022-03-07 20:54:33,955 [ INFO] [MC-Client-dev.lifecycle-1] [c.h.w.s.MCClientManager]: MC Client connected to cluster dev.
2022-03-07 20:54:33,985 [ INFO] [MC-Client-dev.event-4] [c.h.w.s.MCClientManager]: Started communication with member: Member [10.42.1.57]:5701 - 5ecf6666-505c-4c58-a773-7661be585cb6
2022-03-07 20:54:34,209 [ INFO] [main] [c.h.w.Launcher]: Hazelcast Management Center successfully started at http://localhost:8080/
2022-03-07 20:55:13,115 [ INFO] [MC-Client-dev.event-1] [c.h.w.s.MCClientManager]: Started communication with a new member: Member [10.42.1.58]:5701 - 30c83498-06a9-4e88-ad8a-85398bb45279
2022-03-07 20:55:42,929 [ INFO] [MC-Client-dev.event-1] [c.h.w.s.MCClientManager]: Started communication with a new member: Member [10.42.1.59]:5701 - 90f97bd4-47a1-4f18-8811-b11fa54f2008

Problem arises, when I'm trying to explore any Map. I'm getting:

{
"message":"Server request error: Failed to deserialize map entry. Make sure that you use a client config file with relevant serialization configuration for your cluster client config. Exception message: There is no suitable de-serializer for type 1. This exception is likely caused by differences in the serialization configuration between members or between clients and members."
}

EDIT:

I've installed hazelcast using official helm chart (chart version: 5.3.4 / app version: 5.0.2).

My helm values file is:

hazelcast:
  yaml:
    hazelcast:
      network:
        join:
          kubernetes:
            enabled: true
            service-name: ${serviceName}
            namespace: ${namespace}
        rest-api:
          enabled: true
      jet:
        enabled: ${hz.jet.enabled}
      serialization:
        serializers:
          - type-class: me.jeusdi.fhir.hazelcast.model.Practitioner
            class-name: me.jeusdi.fhir.hazelcast.serializer.PractitionerSerializer

customVolume:
  persistentVolumeClaim:
    claimName: hazelcast-jars


mancenter:
  enabled: true
  javaOpts: -Dhazelcast.mc.lock.skip=true
  yaml:
    hazelcast-client:
      network:
        kubernetes:
          enabled: true
          service-name: ${serviceName}
          namespace: ${namespace}
      serialization:
        serializers:
        - type-class: me.jeusdi.fhir.hazelcast.model.Practitioner
          class-name: me.jeusdi.fhir.hazelcast.serializer.PractitionerSerializer
  customVolume:
    persistentVolumeClaim:
      claimName: hazelcast-mancenter-jars

service:
  type: LoadBalancer

Deployed mancenter related configmap:

apiVersion: v1
data:
  hazelcast-client.yaml: |-
    hazelcast-client:
      network:
        kubernetes:
          enabled: true
          namespace: ${namespace}
          service-name: ${serviceName}
      serialization:
        serializers:
        - class-name: me.jeusdi.fhir.hazelcast.serializer.PractitionerSerializer
          type-class: me.jeusdi.fhir.hazelcast.model.Practitioner
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: hazelcast-external
    meta.helm.sh/release-namespace: default
  creationTimestamp: "2022-03-07T20:54:23Z"
  labels:
    app.kubernetes.io/instance: hazelcast-external
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: hazelcast-mancenter
    helm.sh/chart: hazelcast-5.3.4
  name: hazelcast-external-mancenter-configuration
  namespace: default
  resourceVersion: "297666"
  uid: ea94618f-d890-4158-b716-3c88abea8d1c

This is the content of /config/hazelcast-client.yaml:

hazelcast-client:
  network:
    kubernetes:
      enabled: true
      namespace: ${namespace}
      service-name: ${serviceName}
  serialization:
    serializers:
    - class-name: me.jeusdi.fhir.hazelcast.serializer.PractitionerSerializer
      type-class: me.jeusdi.fhir.hazelcast.model.Practitioner

Launch command is:

java --add-opens java.base/java.lang=ALL-UNNAMED -server -Dhazelcast.mc.home=/data -Djava.net.preferIPv4Stack=true --illegal-access=permit -Dhazelcast.mc.healthCheck.enable=true -DserviceName=hazelcast-external -Dnamespace=default -Dhazelcast.mc.tls.enabled=false -Dhazelcast.mc.lock.skip=true -XX:+UseContainerSupport -XX:MaxRAMPercentage=80 -cp '/opt/hazelcast/management-center/hazelcast-management-center-5.0.4.jar:/data/custom:/data/custom/*' -Dhazelcast.mc.contextPath=/ -Dhazelcast.mc.http.port=8080 -Dhazelcast.mc.https.port=8443 com.hazelcast.webmonitor.Launcher

The content of /data/custom:

$ kubectl exec -ti hazelcast-external-mancenter-0 -- ls /data/custom
fhir-hazelcast-0.0.1-SNAPSHOT.jar

jar content is:

     0 Mon Mar 07 12:28:02 CET 2022 META-INF/
    81 Mon Mar 07 12:28:02 CET 2022 META-INF/MANIFEST.MF
     0 Mon Mar 07 12:28:02 CET 2022 me/
     0 Mon Mar 07 12:28:02 CET 2022 me/jeusdi/
     0 Mon Mar 07 12:28:02 CET 2022 me/jeusdi/fhir/
     0 Mon Mar 07 12:28:02 CET 2022 me/jeusdi/fhir/hazelcast/
     0 Mon Mar 07 12:28:02 CET 2022 me/jeusdi/fhir/hazelcast/serializer/
     0 Mon Mar 07 12:28:02 CET 2022 me/jeusdi/fhir/hazelcast/model/
     0 Mon Mar 07 12:28:02 CET 2022 META-INF/maven/
     0 Mon Mar 07 12:28:02 CET 2022 META-INF/maven/me.jeusdi.fhir.hazelcast/
     0 Mon Mar 07 12:28:02 CET 2022 META-INF/maven/me.jeusdi.fhir.hazelcast/fhir-hazelcast/
  2485 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/serializer/SerializerIdEnum.class
  2480 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/serializer/PractitionerSerializer.class
   904 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PractitionerRoleHistory.class
   906 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/BackboneElement.class
  3350 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QBackboneElement.class
  1677 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/DomainResource$DomainResourceBuilderImpl.class
  3831 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Address.class
  4543 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Patient$ContactComponent.class
   438 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/BooleanType.class
   556 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/EnumerationType.class
   859 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PatientHistory.class
  4501 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPractitionerRoleHistory.class
  1173 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Resource$ResourceBuilderImpl.class
  3799 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/HumanName.class
  5304 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QOrganizationHistory.class
  4389 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QQualification.class
  4677 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QSearchParameter.class
  3008 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QCodeType.class
  4639 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QAddress.class
  4300 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QExtension.class
  3679 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QDomainResource.class
  2855 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Extension.class
  4337 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QIdentifier.class
  1523 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Reference.class
  1622 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/ContactPoint$ContactPointSystem.class
  3427 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QElement.class
  4327 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QMeta.class
  3683 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QReference.class
   441 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/DateTimeType.class
  4627 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QOrganization_ContactComponent.class
   336 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/CodeType.class
  2476 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Meta.class
   358 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PositiveIntType.class
  2445 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/DomainResource.class
  7409 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPatient.class
  1870 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PractitionerRole$PractitionerReference.class
   425 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/UriType.class
  5174 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPractitionerHistory.class
  3409 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QEnumerationType.class
  2360 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Qualification.class
  6391 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPractitioner.class
  3489 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPeriod.class
  3119 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QStringType.class
  6349 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QOrganization.class
  4842 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Resource.class
  3856 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QCodeableConcept.class
   321 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Type.class
   434 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/StringType.class
  1483 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Enumerations$AdministrativeGender.class
  1016 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Period.class
  2027 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Practitioner$PatientReference.class
  2177 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Coding.class
  2592 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Identifier.class
  2325 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PractitionerRole$PractitionerReference$PractitionerReferenceBuilder.class
  2037 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Practitioner$PractitionerBuilderImpl.class
  1495 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/ContactPoint$ContactPointUse.class
  2513 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Patient$GeneralPractitionerReference$GeneralPractitionerReferenceBuilder.class
  5793 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Practitioner$PractitionerBuilder.class
  1470 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/CodeableConcept.class
  1442 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Element.class
  3136 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QUriType.class
   884 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PractitionerHistory.class
  2739 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/DomainResource$DomainResourceBuilder.class
   438 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/IntegerType.class
  5421 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPractitionerRole.class
  5842 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Organization.class
  3662 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/ContactPoint.class
   429 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/DateType.class
   471 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Enumerations.class
  6853 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Practitioner.class
  9473 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Patient.class
  4334 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QHumanName.class
  4152 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QContactPoint.class
  2913 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QType.class
  2321 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Practitioner$PatientReference$PatientReferenceBuilder.class
  2125 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Patient$GeneralPractitionerReference.class
  3268 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QDateType.class
  6033 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPatientHistory.class
  3299 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPrimitiveType.class
  1352 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/IdType.class
  5694 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/SearchParameter.class
  4037 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QCoding.class
  2855 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPatient_GeneralPractitionerReference.class
  5256 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPatient_ContactComponent.class
  2794 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Resource$ResourceBuilder.class
   978 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PrimitiveType.class
  3404 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QResource.class
  2786 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QPractitionerRole_PractitionerReference.class
  1535 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/HumanName$NameUse.class
  3179 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QBooleanType.class
   884 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/OrganizationHistory.class
  4606 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/PractitionerRole.class
  2474 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/Organization$ContactComponent.class
  3308 Mon Mar 07 12:28:00 CET 2022 me/jeusdi/fhir/hazelcast/model/QDateTimeType.class
  8042 Mon Mar 07 12:27:46 CET 2022 META-INF/maven/me.jeusdi.fhir.hazelcast/fhir-hazelcast/pom.xml
    82 Mon Mar 07 12:28:02 CET 2022 META-INF/maven/me.jeusdi.fhir.hazelcast/fhir-hazelcast/pom.properties
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

No branches or pull requests

1 participant