Skip to content

Support for Hazelcast client-server topology - SessionUpdateEntryProcessor not public #1260

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

Closed
cdene opened this issue Nov 22, 2018 · 1 comment
Assignees
Labels
Milestone

Comments

@cdene
Copy link

cdene commented Nov 22, 2018

Hello everyone!

I have Hazelcast client/server topology
I saw that issue #1101
But unfortunately, I can't implement that code in where i create my Hazelcast client:

clientConfig.getUserCodeDeploymentConfig().setEnabled(true) 
 			.addClass(Session.class).addClass(MapSession.class) 
 			.addClass(SessionUpdateEntryProcessor.class); 

Because SessionUpdateEntryProcessor is package private
Is that default access modifier correct?

Also, i have an issue with adding MapSession.class through UserCodeDeployment

018-11-22 17:06:59.600, closedTime=2018-11-22 17:06:59.605, connected server version=3.11} closed. Reason: Could not connect to [127.0.0.1]:5500 as owner
    java.util.concurrent.ExecutionException: java.lang.IllegalStateException: User Code Deployment is not enabled.
        at com.hazelcast.client.spi.impl.ClientInvocationFuture.resolveAndThrowIfException(ClientInvocationFuture.java:109)
        at com.hazelcast.client.spi.impl.ClientInvocationFuture.resolveAndThrowIfException(ClientInvocationFuture.java:33)
        at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:162)
        at com.hazelcast.client.spi.impl.ClientUserCodeDeploymentService.deploy(ClientUserCodeDeploymentService.java:172)
        at com.hazelcast.client.impl.clientside.HazelcastClientInstanceImpl.onClusterConnect(HazelcastClientInstanceImpl.java:616)
        at com.hazelcast.client.connection.nio.ClusterConnector.connectAsOwner(ClusterConnector.java:137)
        at com.hazelcast.client.connection.nio.ClusterConnector.connectToClusterInternal(ClusterConnector.java:194)
        at com.hazelcast.client.connection.nio.ClusterConnector.access$400(ClusterConnector.java:56)
        at com.hazelcast.client.connection.nio.ClusterConnector$2.call(ClusterConnector.java:215)
        at com.hazelcast.client.connection.nio.ClusterConnector$2.call(ClusterConnector.java:211)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
        at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:64)
        at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:80)
    Caused by: java.lang.IllegalStateException: User Code Deployment is not enabled.
        at com.hazelcast.internal.usercodedeployment.UserCodeDeploymentService.defineClass(UserCodeDeploymentService.java:70)
        at com.hazelcast.internal.usercodedeployment.impl.operation.DeployClassesOperation.run(DeployClassesOperation.java:50)
        at com.hazelcast.spi.Operation.call(Operation.java:170)
        at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:208)
        at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:197)
        at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:407)
        at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:434)
        at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:586)
        at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:571)
        at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:530)
        at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:220)
        at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:60)
        at com.hazelcast.client.impl.protocol.task.AbstractMultiTargetMessageTask.processMessage(AbstractMultiTargetMessageTask.java:57)
        at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.initializeAndProcessMessage(AbstractMessageTask.java:123)
        at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.doRun(AbstractMessageTask.java:111)
        at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.run(AbstractMessageTask.java:101)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
        at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:64)
        at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:80)
        at ------ submitted from ------.(Unknown Source)
        at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:127)
        at com.hazelcast.spi.impl.AbstractInvocationFuture$1.run(AbstractInvocationFuture.java:250)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
        at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:64)
        at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:80)
        at ------ submitted from ------.(Unknown Source)
        at com.hazelcast.client.spi.impl.ClientInvocationFuture.resolveAndThrowIfException(ClientInvocationFuture.java:96)
        ... 15 more

Thank you

@vpavic vpavic self-assigned this Nov 26, 2018
@vpavic vpavic added this to the 2.1.2 milestone Nov 26, 2018
@vpavic
Copy link
Contributor

vpavic commented Nov 26, 2018

Thanks for the report @cdene! This indeed is an omission, as you obviously cannot use SessionUpdateEntryProcessor in your app's Hazelcast configuration unless it's public.

Regarding the second part of the question, it appears you haven't enabled user code deployment in your Hazelcast server config. See the config we use in our integration tests as an example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants