You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Jared Stewart (JIRA)" <ji...@apache.org> on 2017/08/30 17:51:00 UTC

[jira] [Commented] (GEODE-3541) Add GFSH api for creating regions with a FixedPartitionResolver

    [ https://issues.apache.org/jira/browse/GEODE-3541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16147681#comment-16147681 ] 

Jared Stewart commented on GEODE-3541:
--------------------------------------

For context, here is the EvenOddPartitionResolver: 
{noformat}
package org.apache.geode.examples.functions;

import java.io.Serializable;

import org.apache.geode.cache.EntryOperation;
import org.apache.geode.cache.PartitionResolver;

public class EvenOddPartitionResolver implements PartitionResolver<Integer, String> {
  public static final String ID = EvenOddPartitionResolver.class.getSimpleName();

  @Override
  public String getName() {
    return ID;
  }

  @Override
  public Serializable getRoutingObject(EntryOperation<Integer, String> opDetails) {
    Integer integer = (Integer)opDetails.getKey();
    if (integer != null && ((integer.intValue() % 2) == 1)) {
      return "ODD";
    }
    return "EVEN";
  }

  @Override
  public void close() {
    // Intentionally left blank.
  }
}
{noformat}

> Add GFSH api for creating regions with a FixedPartitionResolver
> ---------------------------------------------------------------
>
>                 Key: GEODE-3541
>                 URL: https://issues.apache.org/jira/browse/GEODE-3541
>             Project: Geode
>          Issue Type: New Feature
>          Components: gfsh
>            Reporter: Jared Stewart
>
> From a user: 
> I was trying to get a custom partition resolver example working. The way geode-examples works is by configuring the servers via gfsh so I used:
> {noformat}create region --name=example-region --type=PARTITION --partition-resolver=org.apache.geode.examples.functions.EvenOddPartitionResolver --redundant-copies=0{noformat}
> Alas, this didn't work. [Jared: note - this was likely due to  https://issues.apache.org/jira/browse/GEODE-3460]  I found a way to get it to work in Java:
> {noformat} PartitionAttributesFactory partitionAttributesFactory = new PartitionAttributesFactory();
>     partitionAttributesFactory
>         .addFixedPartitionAttributes(FixedPartitionAttributes.createFixedPartition("ODD", 1));
>     partitionAttributesFactory
>         .addFixedPartitionAttributes(FixedPartitionAttributes.createFixedPartition("EVEN", 1));
>     partitionAttributesFactory.setPartitionResolver(new EvenOddPartitionResolver());
>     partitionAttributesFactory.setRedundantCopies(1);{noformat}
> It appears that it was necessary to create the fixed partitions for the custom partition resolver to find.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)