[JBoss JIRA] (ISPN-7749) A node leaving during rebalance causes extra segment transfers
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7749?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7749:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> A node leaving during rebalance causes extra segment transfers
> --------------------------------------------------------------
>
> Key: ISPN-7749
> URL: https://issues.jboss.org/browse/ISPN-7749
> Project: Infinispan
> Issue Type: Bug
> Components: Core, State Transfer
> Affects Versions: 9.0.0.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 9.2.0.Final
>
>
> If a node leaves during a rebalance, the only change is that other nodes will no longer request segments from that node. Otherwise the rebalance proceeds as usual, and at the end a node may delete its copy of a segment even if that leaves less than {{numOwners}} copies in the cluster.
> When the leaver is the joiner, a 2nd rebalance is very likely to return to the initial CH, but only after transferring some segments twice:
> {noformat}
> Rebalance starts: current_owners(s) = AB, pending_owners(s) = AC
> C leaves: current_owners(s) = AB, pending_owners(s) = A
> Rebalance finishes: current_owners(s) = A, pending_owners(s) = A
> 2nd rebalance starts: current_owners(s) = A, pending_owners(s) = AB
> {noformat}
> Even if the leaver is one of the old owners and the 2 segment transfers are necessary, the cluster stays for too long with less than {{numOwners}} copies of the segment:
> {noformat}
> Rebalance starts: current_owners(s) = AB, pending_owners(s) = AC
> A leaves: current_owners(s) = B, pending_owners(s) = C
> C transfers segment s from B
> Rebalance finishes: current_owners(s) = C, pending_owners(s) = C
> 2nd rebalance starts: current_owners(s) = C, pending_owners(s) = DC
> {noformat}
> We can fix this by making the pending CH a union of the current and pending CH whenever a node leavers, and only removing extra segment copies after the 2nd rebalance.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7711) Improve server-side protostream marshaller registration
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7711?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7711:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> Improve server-side protostream marshaller registration
> -------------------------------------------------------
>
> Key: ISPN-7711
> URL: https://issues.jboss.org/browse/ISPN-7711
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: Galder Zamarreño
> Assignee: Adrian Nistor
> Fix For: 9.2.0.Final
>
>
> A more user friendly way to register protostream marshallers remotely is needed when the protostream marshaller is used for compatibility mode (or transcoding) in the future. It's currently possible to do it with a remote server task but that's a bit hacky.
> This server task shows how it can be done:
> {code}
> package delays.java.stream;
> import org.infinispan.manager.EmbeddedCacheManager;
> import org.infinispan.query.remote.ProtobufMetadataManager;
> import org.infinispan.tasks.ServerTask;
> import org.infinispan.tasks.TaskContext;
> import org.infinispan.tasks.TaskExecutionMode;
> import delays.java.stream.pojos.Station;
> import delays.java.stream.pojos.Stop;
> import delays.java.stream.pojos.Train;
> public class AddProtobufTask implements ServerTask {
> private TaskContext ctx;
> @Override
> public void setTaskContext(TaskContext ctx) {
> this.ctx = ctx;
> }
> @Override
> public String getName() {
> return "add-protobuf";
> }
> @Override
> public Object call() throws Exception {
> EmbeddedCacheManager cm = ctx.getCache().get().getCacheManager();
> ProtobufMetadataManager protobufMetadataManager = cm.getGlobalComponentRegistry().getComponent(ProtobufMetadataManager.class);
> protobufMetadataManager.registerMarshaller(new Stop.Marshaller());
> protobufMetadataManager.registerMarshaller(new Station.Marshaller());
> protobufMetadataManager.registerMarshaller(new Train.Marshaller());
> return null;
> }
> @Override
> public TaskExecutionMode getExecutionMode() {
> // Registering marshallers should be done in all nodes
> return TaskExecutionMode.ALL_NODES;
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7709) Generate keystores/truststore during the test phase
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7709?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7709:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> Generate keystores/truststore during the test phase
> ---------------------------------------------------
>
> Key: ISPN-7709
> URL: https://issues.jboss.org/browse/ISPN-7709
> Project: Infinispan
> Issue Type: Bug
> Components: Security, Test Suite - Server
> Affects Versions: 9.0.0.Final
> Reporter: Tristan Tarrant
> Assignee: Tristan Tarrant
> Fix For: 9.2.0.Final
>
>
> The testsuite for both the Hot Rod client and the server include pre-built keystores. This causes a number of issues:
> - they only work with Oracle/OpenJDK and break with IBM JDK
> - there is very little information about how they were produced
> - they have built-in expirations which are causing failures
> By using the maven keytool plugin we can generate the certificates during the test phase. Pros:
> - uses the keytool packaged with the JDK which is being used by the build
> - "documents" the process for generating the certificates and avoids storing binary blobs in version control
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7935) Document Server Tasks
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7935?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7935:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> Document Server Tasks
> ---------------------
>
> Key: ISPN-7935
> URL: https://issues.jboss.org/browse/ISPN-7935
> Project: Infinispan
> Issue Type: Enhancement
> Components: Server, Tasks
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 9.0.4.Final, 9.2.0.Final
>
>
> There's literally no documentation on using ServerTask. They're very powerful and we should promote them more since they can act as a stop gap solution for any missing features in HR client.
> I'll add documentation for ServerTasks once Infinispan can execute ServerTasks fine, even if they're POJOs.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months