[jira] [Created] (RATIS-22) Add Builder for RaftClientRequestSender

2017-02-16 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-22:


 Summary: Add Builder for RaftClientRequestSender
 Key: RATIS-22
 URL: https://issues.apache.org/jira/browse/RATIS-22
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


RaftClientRequestSender should provide a Builder to build objects from  
implementation subclasses.  The idea is similar to RaftServerRpc.Builder.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-22) Add Builder for RaftClientRequestSender

2017-02-16 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-22:
-
Attachment: r22_20170216.patch

r22_20170216.patch: adds RaftClientRequestSender.Builder and the subclass 
implementations.

> Add Builder for RaftClientRequestSender
> ---
>
> Key: RATIS-22
> URL: https://issues.apache.org/jira/browse/RATIS-22
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r22_20170216.patch
>
>
> RaftClientRequestSender should provide a Builder to build objects from  
> implementation subclasses.  The idea is similar to RaftServerRpc.Builder.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-13) Add global unique ID for Raft Client

2017-02-16 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15870859#comment-15870859
 ] 

Tsz Wo Nicholas Sze commented on RATIS-13:
--

- The CodeInjectionForTesting changes in GRpcLogAppender and RaftServerImpl 
should be reverted.  

- We should not remove the following javadoc in RaftClient
{code}
-/** Set {@link RaftClient} ID. */
-public Builder setClientId(String clientId) {
+public Builder setClientId(ClientId clientId)
{code}

+1 Patch looks good other than that.


> Add global unique ID for Raft Client
> 
>
> Key: RATIS-13
> URL: https://issues.apache.org/jira/browse/RATIS-13
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-13.000.patch, RATIS-13.001.patch
>
>
> Similar idea as HADOOP-9688. But since we need to support various RPC 
> engines, the client id is not added in the RPC layer but in the raft protocol 
> layer.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-21) Add RpcType and ServerFactory

2017-02-16 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-21:
-
Attachment: r21_20170216.patch

r21_20170216.patch: sync'ed with trunk and some minor changes.

> Add RpcType and ServerFactory
> -
>
> Key: RATIS-21
> URL: https://issues.apache.org/jira/browse/RATIS-21
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r21_20170215.patch, r21_20170216.patch
>
>
> Add an RpcType enum so that it can identify rpc implementations such as 
> NETTY, GRPC, etc.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-24) Move out the Hadoop RPC config keys from RaftServerConfigKeys

2017-02-17 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-24?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-24:
-
Attachment: r24_20170217.patch

r24_20170217.patch: moves the hadoop conf to a new class.

> Move out the Hadoop RPC config keys from RaftServerConfigKeys
> -
>
> Key: RATIS-24
> URL: https://issues.apache.org/jira/browse/RATIS-24
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r24_20170217.patch
>
>
> There are a few Hadoop Rpc specific config keys in RaftServerConfigKeys.  We 
> should move them to the ratis-hadoop module.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-19) Include clientId and callId in log entries

2017-02-23 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-19?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15881295#comment-15881295
 ] 

Tsz Wo Nicholas Sze commented on RATIS-19:
--

Why not naming callId as seqNum?  Or renaming seqNum as callIds?

+1 the patch looks good other than the questions above.

> Include clientId and callId in log entries
> --
>
> Key: RATIS-19
> URL: https://issues.apache.org/jira/browse/RATIS-19
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-19.000.patch
>
>
> We should include clientId and callId (which are used as key for retry cache) 
> in raft log entries and use them for retry cache reconstruction in raft peers.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-30) Provide a way to pass parameters to rpc implementations

2017-02-24 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-30:


 Summary: Provide a way to pass parameters to rpc implementations
 Key: RATIS-30
 URL: https://issues.apache.org/jira/browse/RATIS-30
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


In this JIRA, we address the following comment from [~jingzhao] in RATIS-28.
{quote}
We can consider use some other way for library users to pass extra 
configuration objects for their RPC engine (e.g., Hadoop Configuration) into 
the RPC factory. In this way we can get a neater API for RPC creation and avoid 
using an lazy initialization supplier in RaftServerImpl.
{quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-28) Create RaftServerRpc using ServerFactory

2017-02-24 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-28?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15883807#comment-15883807
 ] 

Tsz Wo Nicholas Sze commented on RATIS-28:
--

> 1. RaftConfigKeys#Rpc can be an interface

That is a good point.  I will also change NettyConfigKeys.Server to interface.

For #2 and #3, I will create JIRAs to follow up on them.  Thanks a lot!

> Create RaftServerRpc using ServerFactory
> 
>
> Key: RATIS-28
> URL: https://issues.apache.org/jira/browse/RATIS-28
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r28_20170222.patch, r28_20170223b.patch, 
> r28_20170223.patch, r28_20170224.patch
>
>
> In order to support pluggable rpc, user is supposed to first choose an rpc 
> implementation to create a RaftServerRpc rpc.  Then create a RaftServer 
> server.  Finally, call server.setServerRpc(rpc) to connect these two objects.
> In this JIRA, we add a RpcType property and use it to initialize RaftServer 
> and then automatically create RaftServerRpc from the RpcType.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-28) Create RaftServerRpc using ServerFactory

2017-02-24 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-28?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-28.
--
   Resolution: Fixed
Fix Version/s: 0.1

I have committed this.

> Create RaftServerRpc using ServerFactory
> 
>
> Key: RATIS-28
> URL: https://issues.apache.org/jira/browse/RATIS-28
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Fix For: 0.1
>
> Attachments: r28_20170222.patch, r28_20170223b.patch, 
> r28_20170223.patch, r28_20170224.patch
>
>
> In order to support pluggable rpc, user is supposed to first choose an rpc 
> implementation to create a RaftServerRpc rpc.  Then create a RaftServer 
> server.  Finally, call server.setServerRpc(rpc) to connect these two objects.
> In this JIRA, we add a RpcType property and use it to initialize RaftServer 
> and then automatically create RaftServerRpc from the RpcType.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-28) Create RaftServerRpc using ServerFactory

2017-02-22 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-28:


 Summary: Create RaftServerRpc using ServerFactory
 Key: RATIS-28
 URL: https://issues.apache.org/jira/browse/RATIS-28
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


In order to support pluggable rpc, user is supposed to first choose an rpc 
implementation to create a RaftServerRpc rpc.  Then create a RaftServer server. 
 Finally, call server.setServerRpc(rpc) to connect these two objects.

In this JIRA, we add a RpcType property and use it to initialize RaftServer and 
then automatically create RaftServerRpc from the RpcType.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-27) Use factory methods to create MiniRaftCluster

2017-02-22 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-27?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-27:
-
Attachment: r27_20170222.patch

r27_20170222.patch: 1st patch.

> Use factory methods to create MiniRaftCluster
> -
>
> Key: RATIS-27
> URL: https://issues.apache.org/jira/browse/RATIS-27
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Attachments: r27_20170222.patch
>
>
> Enforce all the tests to use the factory methods to create MiniRaftCluster so 
> that we may setup RaftProperties in centralized locations.
> We also change the HadoopRpcService to not throwing IOException.  Then, 
> MiniRaftCluster creation also no longer needs to throw IOException.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-20) Define APIs for choosing RPC implementations

2017-02-15 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-20:


 Summary: Define APIs for choosing RPC implementations
 Key: RATIS-20
 URL: https://issues.apache.org/jira/browse/RATIS-20
 Project: Ratis
  Issue Type: New Feature
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


Currently, user has to know some RPC implementation details in order to use it 
correctly.  For example, for grpc, users has to set the following 
RaftProperties.
{code}
properties.setClass(RaftServerConfigKeys.RAFT_SERVER_LOG_APPENDER_FACTORY_CLASS_KEY,
  PipelinedLogAppenderFactory.class, LogAppenderFactory.class);
{code}
Also, users need to know the actual implementations of various interfaces.  
such as RaftServerRpc and RaftClientRequestSender.  For grpc, the 
implementations are RaftGRpcService and RaftClientSenderWithGrpc.

We should provide a simple API to configure the RPC and hide the implementation 
details.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-13) Add global unique ID for Raft Client

2017-02-15 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15868893#comment-15868893
 ] 

Tsz Wo Nicholas Sze commented on RATIS-13:
--

The patch looks good.  Some minor comments:
# Use ByteBuffer.getLong in ClientId(byte[] data).
# In RaftPeerId, use StandardCharsets.UTF_8.
# In RaftClient, we should keep Builder.setClientId(..) and remove 
newBuilder(ClientId clientId).  In more details, Builder.clientId should not be 
final. Initialize it with null.  User may set it by setClientId(..).  In 
build(), generate a random id if it is null.
# Change RaftUtils.next to generic and replace "string" with "element" in the 
javadoc, i.e.
{code}
  /**
   *  @return the next element in the iteration right after the given element;
   *  if the given element is not in the iteration, return the first 
element.
   */
  public static  T next(final T given, final Iterable iteration) {
Preconditions.checkNotNull(given);
Preconditions.checkNotNull(iteration);
final Iterator i = iteration.iterator();
Preconditions.checkArgument(i.hasNext());

final T first = i.next();
for(T current = first; i.hasNext(); ) {
  final T next = i.next();
  if (given.equals(current)) {
return next;
  }
  current = next;
}
return first;
  }
{code}
# Remove the RaftPeerId import from both RaftUtils and StringUtils.
# In CodeInjectionForTesting, change all the localId/remoteId parameters to 
Object so that we don't need to call toString(), which is expensive for UUID.

> Add global unique ID for Raft Client
> 
>
> Key: RATIS-13
> URL: https://issues.apache.org/jira/browse/RATIS-13
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-13.000.patch
>
>
> Similar idea as HADOOP-9688. But since we need to support various RPC 
> engines, the client id is not added in the RPC layer but in the raft protocol 
> layer.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-31) Support customized RPC types

2017-02-27 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-31?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-31:
-
Attachment: (was: r31_20170227c.patch)

> Support customized RPC types
> 
>
> Key: RATIS-31
> URL: https://issues.apache.org/jira/browse/RATIS-31
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r31_20170227b.patch, r31_20170227.patch
>
>
> This JIRA is to address [~jingzhao] comment in RATIS-28
> {quote}
> Maybe we should consider using RpcType as an internal util stuff instead of 
> exposing it in public interfaces, considering most library users will have to 
> integrate the Ratis library with their own RPC engine.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-31) Support customized RPC types

2017-02-27 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-31:


 Summary: Support customized RPC types
 Key: RATIS-31
 URL: https://issues.apache.org/jira/browse/RATIS-31
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


This JIRA is to address [~jingzhao] comment in RATIS-28
{quote}
Maybe we should consider using RpcType as an internal util stuff instead of 
exposing it in public interfaces, considering most library users will have to 
integrate the Ratis library with their own RPC engine.
{quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-49) Add a clean profile to remove shaded source

2017-03-23 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-49?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-49:
-
Attachment: r49_20170323.patch

r49_20170323.patch: adds a clean-shade profile and updates the doc.

> Add a clean profile to remove shaded source
> ---
>
> Key: RATIS-49
> URL: https://issues.apache.org/jira/browse/RATIS-49
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r49_20170323.patch
>
>
> There is no way to remove the shaded source using mvn.  We have to remove 
> them manually by
> - rm -rf ratis-proto-shaded/src/main/java
> - rm -rf ratis-hadoop-shaded/src/main/java



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-49) Add a clean profile to remove shaded source

2017-03-23 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-49?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-49:
-
Attachment: r49_20170323b.patch

r49_20170323b.patch: more changes in BUILDING.md


> Add a clean profile to remove shaded source
> ---
>
> Key: RATIS-49
> URL: https://issues.apache.org/jira/browse/RATIS-49
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r49_20170323b.patch, r49_20170323.patch
>
>
> There is no way to remove the shaded source using mvn.  We have to remove 
> them manually by
> - rm -rf ratis-proto-shaded/src/main/java
> - rm -rf ratis-hadoop-shaded/src/main/java



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-48) Test "RaftOutputStream" based on gRPC

2017-03-21 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15935010#comment-15935010
 ] 

Tsz Wo Nicholas Sze commented on RATIS-48:
--

Hi [~kaiyangzhang], thanks for filing the JIRA.  Do you means that you have 
already done the test and the result is 30MB/s on average?  Could you give more 
details on your test?

> Test "RaftOutputStream" based on gRPC
> -
>
> Key: RATIS-48
> URL: https://issues.apache.org/jira/browse/RATIS-48
> Project: Ratis
>  Issue Type: Test
> Environment: 1、SSD 
> 2、10 Gigabit network card
> 3、three raft node
>Reporter: kaiyangzhang
>Priority: Minor
>
> avg:30MB/s



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-20) Define APIs for choosing RPC implementations

2017-03-23 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-20?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-20.
--
   Resolution: Fixed
Fix Version/s: 0.1

All subtasks are done.  Resolving this.

> Define APIs for choosing RPC implementations
> 
>
> Key: RATIS-20
> URL: https://issues.apache.org/jira/browse/RATIS-20
> Project: Ratis
>  Issue Type: New Feature
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Fix For: 0.1
>
>
> Currently, user has to know some RPC implementation details in order to use 
> it correctly.  For example, for grpc, users has to set the following 
> RaftProperties.
> {code}
> properties.setClass(RaftServerConfigKeys.RAFT_SERVER_LOG_APPENDER_FACTORY_CLASS_KEY,
>   PipelinedLogAppenderFactory.class, LogAppenderFactory.class);
> {code}
> Also, users need to know the actual implementations of various interfaces.  
> such as RaftServerRpc and RaftClientRequestSender.  For grpc, the 
> implementations are RaftGRpcService and RaftClientSenderWithGrpc.
> We should provide a simple API to configure the RPC and hide the 
> implementation details.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-57) Fix pom.xml for mvn release:prepare

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-57?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-57:
-
Attachment: r57_20170330.patch

r57_20170330.patch: 1st patch.

> Fix pom.xml for mvn release:prepare
> ---
>
> Key: RATIS-57
> URL: https://issues.apache.org/jira/browse/RATIS-57
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r57_20170330.patch
>
>
> According to [Prepare your POMs for 
> release|http://www.apache.org/dev/publishing-maven-artifacts.html#prepare-poms],
>  the following command can test the pom.
> {code}
> mvn release:prepare -DdryRun=true -DautoVersionSubmodules=true
> {code}
> The JIRA is to fix the unexpected diff between pom.xml and pom.xml.tag.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-57) Fix pom.xml for mvn release:prepare

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-57:


 Summary: Fix pom.xml for mvn release:prepare
 Key: RATIS-57
 URL: https://issues.apache.org/jira/browse/RATIS-57
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze


According to [Prepare your POMs for 
release|http://www.apache.org/dev/publishing-maven-artifacts.html#prepare-poms],
 the following command can test the pom.
{code}
mvn release:prepare -DdryRun=true -DautoVersionSubmodules=true
{code}
The JIRA is to fix the unexpected diff between pom.xml and pom.xml.tag.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-56) Update project version to 0.1.0-alpha

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-56?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-56:
-
Attachment: r56_20170330.patch

r56_20170330.patch: 1st patch.

> Update project version to 0.1.0-alpha
> -
>
> Key: RATIS-56
> URL: https://issues.apache.org/jira/browse/RATIS-56
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r56_20170330.patch
>
>
> We may use the following command to update the project version from 
> 0.1-SNAPSHOT to 0.1.0-alpha.
> {code}
> find . -name pom.xml | xargs sed -i.old "s/0.1-SNAPSHOT/0.1.0-alpha/g" 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-56) Update project version to 0.1.0-alpha

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-56:


 Summary: Update project version to 0.1.0-alpha
 Key: RATIS-56
 URL: https://issues.apache.org/jira/browse/RATIS-56
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze
 Attachments: r56_20170330.patch

We may use the following command to update the project version from 
0.1-SNAPSHOT to 0.1.0-alpha.
{code}
find . -name pom.xml | xargs sed -i.old "s/0.1-SNAPSHOT/0.1.0-alpha/g" 
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-17) Add basic retry cache implementation for Raft Server

2017-03-22 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-17?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15937491#comment-15937491
 ] 

Tsz Wo Nicholas Sze commented on RATIS-17:
--

Thanks Jing, some quick comments:
- CacheKey is created multiple times in RetryCache.  We should only create once 
at queryCache or getOrCreateEntry, and then keep passing it.
- The guava Cache is thread safe.  Do we need to synchronize queryCache and 
getOrCreateEntry?
- CacheEntry already has a replyFuture so that we should keep using it.  e.g. 
checkLeaderState(..) should not create CompletableFuture anymore.
- MAX_CAPACITY actually is MIN_CAPACITY. Otherwise, max = 16 is way to small. :)




> Add basic retry cache implementation for Raft Server
> 
>
> Key: RATIS-17
> URL: https://issues.apache.org/jira/browse/RATIS-17
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-17.000.patch, RATIS-17.001.patch, 
> RATIS-17.002.patch
>
>
> This jira will add the basic data structure definition for the retry cache.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-55) Add missing license headers

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-55:


 Summary: Add missing license headers
 Key: RATIS-55
 URL: https://issues.apache.org/jira/browse/RATIS-55
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


{{mvn apache-rat:check}} reports that a few files do not have the license 
header. 




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-55) Add missing license headers

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-55?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-55:
-
Attachment: r55_20170330.patch

r55_20170330.patch:
- adds license header for the .md files;
- changes the clean-shade profile to remove dependency-reduced-pom.xml.

Note that please run {{mvn clean -Pclean-shade}} before {{mvn 
apache-rat:check}}.


> Add missing license headers
> ---
>
> Key: RATIS-55
> URL: https://issues.apache.org/jira/browse/RATIS-55
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r55_20170330.patch
>
>
> {{mvn apache-rat:check}} reports that a few files do not have the license 
> header. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-55) Add missing license headers

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-55?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-55:
-
Parent Issue: RATIS-53  (was: RATIS-54)

> Add missing license headers
> ---
>
> Key: RATIS-55
> URL: https://issues.apache.org/jira/browse/RATIS-55
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r55_20170330.patch
>
>
> {{mvn apache-rat:check}} reports that a few files do not have the license 
> header. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-49) Add a clean profile to remove shaded source

2017-03-28 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-49?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-49:
-
Attachment: r49_20170329.patch

Jing and Enis, thanks for the review!  Here is a updated patch.

r49_20170329.patch

> Add a clean profile to remove shaded source
> ---
>
> Key: RATIS-49
> URL: https://issues.apache.org/jira/browse/RATIS-49
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r49_20170323b.patch, r49_20170323.patch, 
> r49_20170329.patch
>
>
> There is no way to remove the shaded source using mvn.  We have to remove 
> them manually by
> - rm -rf ratis-proto-shaded/src/main/java
> - rm -rf ratis-hadoop-shaded/src/main/java



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-52) Refactor RaftUtils into different classes

2017-03-30 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-52?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-52.
--
   Resolution: Fixed
Fix Version/s: 0.1.0-alpha

+1 the v2 patch looks good.

I have committed this.  Thanks, Enis!

> Refactor RaftUtils into different classes
> -
>
> Key: RATIS-52
> URL: https://issues.apache.org/jira/browse/RATIS-52
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Enis Soztutar
>Assignee: Enis Soztutar
> Fix For: 0.1.0-alpha
>
> Attachments: ratis-52_v1.patch, ratis-52_v2.patch
>
>
> Ideally we should not have a generic {{RaftUtils}} class. The code should be 
> broken up into at least: 
> {code}
> ReflectionUtils -> All reflection, construction, initialization logic 
> IOUtils -> Add buffer and IO logic 
> SystemUtils or PlatformUtils -> OS type detection, etc 
> Preconditions (or something like that) -> assertTrue, etc 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-17) Add basic retry cache implementation for Raft Server

2017-03-31 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-17?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15950372#comment-15950372
 ] 

Tsz Wo Nicholas Sze commented on RATIS-17:
--

+1 the 006 patch looks good.  Please update it with trunk and commit it.  
Thanks.


> Add basic retry cache implementation for Raft Server
> 
>
> Key: RATIS-17
> URL: https://issues.apache.org/jira/browse/RATIS-17
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-17.000.patch, RATIS-17.001.patch, 
> RATIS-17.002.patch, RATIS-17.003.patch, RATIS-17.004.patch, 
> RATIS-17.005.patch, RATIS-17.006.patch
>
>
> This jira will add the basic data structure definition for the retry cache.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-44) Move hadoop out from ratis-proto-shaded

2017-03-17 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15930741#comment-15930741
 ] 

Tsz Wo Nicholas Sze commented on RATIS-44:
--

After the patch:
{code}
[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ ratis-common ---
[INFO] org.apache.ratis:ratis-common:jar:0.1-SNAPSHOT
[INFO] +- org.apache.ratis:ratis-proto-shaded:jar:0.1-SNAPSHOT:provided
[INFO] |  +- com.google.protobuf:protobuf-java:jar:3.1.0:provided
[INFO] |  +- com.google.protobuf.nano:protobuf-javanano:jar:3.1.0:provided
[INFO] |  +- io.grpc:grpc-netty:jar:1.0.1:provided
[INFO] |  |  +- io.netty:netty-codec-http2:jar:4.1.3.Final:provided (version 
selected from constraint [4.1.3.Final,4.1.3.Final])
[INFO] |  |  |  +- io.netty:netty-codec-http:jar:4.1.3.Final:provided
[INFO] |  |  |  |  \- io.netty:netty-codec:jar:4.1.3.Final:provided
[INFO] |  |  |  \- io.netty:netty-handler:jar:4.1.3.Final:provided
[INFO] |  |  | +- io.netty:netty-buffer:jar:4.1.3.Final:provided
[INFO] |  |  | |  \- io.netty:netty-common:jar:4.1.3.Final:provided
[INFO] |  |  | \- io.netty:netty-transport:jar:4.1.3.Final:provided
[INFO] |  |  |\- io.netty:netty-resolver:jar:4.1.3.Final:provided
[INFO] |  |  \- io.grpc:grpc-core:jar:1.0.1:provided (version selected from 
constraint [1.0.1,1.0.1])
[INFO] |  | +- io.grpc:grpc-context:jar:1.0.1:provided
[INFO] |  | \- com.google.code.findbugs:jsr305:jar:3.0.0:provided
[INFO] |  +- io.grpc:grpc-protobuf:jar:1.0.1:provided
[INFO] |  |  +- com.google.protobuf:protobuf-java-util:jar:3.0.0:provided
[INFO] |  |  |  \- com.google.code.gson:gson:jar:2.3:provided
[INFO] |  |  \- io.grpc:grpc-protobuf-lite:jar:1.0.1:provided
[INFO] |  \- io.grpc:grpc-stub:jar:1.0.1:provided
[INFO] +- org.slf4j:slf4j-api:jar:1.7.10:compile
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
[INFO] |  \- log4j:log4j:jar:1.2.17:compile
[INFO] +- com.google.guava:guava:jar:20.0:compile
[INFO] +- junit:junit:jar:4.11:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] \- org.mockito:mockito-all:jar:1.8.5:test
{code}


> Move hadoop out from ratis-proto-shaded
> ---
>
> Key: RATIS-44
> URL: https://issues.apache.org/jira/browse/RATIS-44
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r44_20170316.patch
>
>
> The dependency tree shows that all the ratis modules have a transitive 
> dependency to hadoop since everything depends on ratis-proto-shaded and 
> ratis-proto-shaded depends on hadoop (in order to shade it).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-46) Do not use commons-io and commons-lang.

2017-03-17 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-46?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-46:
-
Attachment: r46_20170317.patch

r46_20170317.patch: 1st patch.

> Do not use commons-io and commons-lang.
> ---
>
> Key: RATIS-46
> URL: https://issues.apache.org/jira/browse/RATIS-46
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r46_20170317.patch
>
>
> We should remove the dependencies on commons-io and commons-lang since we 
> don't really need them. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-46) Do not use commons-io and commons-lang.

2017-03-17 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-46:


 Summary: Do not use commons-io and commons-lang.
 Key: RATIS-46
 URL: https://issues.apache.org/jira/browse/RATIS-46
 Project: Ratis
  Issue Type: Improvement
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


We should remove the dependencies on commons-io and commons-lang since we don't 
really need them. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-44) Move hadoop out from ratis-proto-shaded

2017-03-17 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15930738#comment-15930738
 ] 

Tsz Wo Nicholas Sze commented on RATIS-44:
--

Before the patch, the dependency tree for ratis-common is:
{code}
[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ ratis-common ---
[INFO] org.apache.ratis:ratis-common:jar:0.1-SNAPSHOT
[INFO] +- org.apache.ratis:ratis-proto-shaded:jar:0.1-SNAPSHOT:provided
[INFO] |  +- com.google.protobuf:protobuf-java:jar:3.1.0:provided
[INFO] |  +- com.google.protobuf.nano:protobuf-javanano:jar:3.1.0:provided
[INFO] |  +- io.grpc:grpc-netty:jar:1.0.1:provided
[INFO] |  |  +- io.netty:netty-codec-http2:jar:4.1.3.Final:provided (version 
selected from constraint [4.1.3.Final,4.1.3.Final])
[INFO] |  |  |  +- io.netty:netty-codec-http:jar:4.1.3.Final:provided
[INFO] |  |  |  |  \- io.netty:netty-codec:jar:4.1.3.Final:provided
[INFO] |  |  |  \- io.netty:netty-handler:jar:4.1.3.Final:provided
[INFO] |  |  | +- io.netty:netty-buffer:jar:4.1.3.Final:provided
[INFO] |  |  | |  \- io.netty:netty-common:jar:4.1.3.Final:provided
[INFO] |  |  | \- io.netty:netty-transport:jar:4.1.3.Final:provided
[INFO] |  |  |\- io.netty:netty-resolver:jar:4.1.3.Final:provided
[INFO] |  |  \- io.grpc:grpc-core:jar:1.0.1:provided (version selected from 
constraint [1.0.1,1.0.1])
[INFO] |  | \- io.grpc:grpc-context:jar:1.0.1:provided
[INFO] |  +- io.grpc:grpc-protobuf:jar:1.0.1:provided
[INFO] |  |  +- com.google.protobuf:protobuf-java-util:jar:3.0.0:provided
[INFO] |  |  \- io.grpc:grpc-protobuf-lite:jar:1.0.1:provided
[INFO] |  +- io.grpc:grpc-stub:jar:1.0.1:provided
[INFO] |  \- org.apache.hadoop:hadoop-common:jar:3.0.0-alpha1:provided
[INFO] | +- org.apache.hadoop:hadoop-annotations:jar:3.0.0-alpha1:provided
[INFO] | |  \- jdk.tools:jdk.tools:jar:1.8:system
[INFO] | +- commons-cli:commons-cli:jar:1.2:provided
[INFO] | +- org.apache.commons:commons-math3:jar:3.1.1:provided
[INFO] | +- xmlenc:xmlenc:jar:0.52:provided
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.2:provided
[INFO] | |  \- org.apache.httpcomponents:httpcore:jar:4.4.4:provided
[INFO] | +- commons-codec:commons-codec:jar:1.4:provided
[INFO] | +- commons-io:commons-io:jar:2.4:provided
[INFO] | +- commons-net:commons-net:jar:3.1:provided
[INFO] | +- commons-collections:commons-collections:jar:3.2.2:provided
[INFO] | +- javax.servlet:servlet-api:jar:2.5:provided
[INFO] | +- org.mortbay.jetty:jetty:jar:6.1.26:provided
[INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.26:provided
[INFO] | +- org.mortbay.jetty:jetty-sslengine:jar:6.1.26:provided
[INFO] | +- javax.servlet.jsp:jsp-api:jar:2.1:provided
[INFO] | +- com.sun.jersey:jersey-core:jar:1.19:provided
[INFO] | |  \- javax.ws.rs:jsr311-api:jar:1.1.1:provided
[INFO] | +- com.sun.jersey:jersey-servlet:jar:1.19:provided
[INFO] | +- com.sun.jersey:jersey-json:jar:1.19:provided
[INFO] | |  +- org.codehaus.jettison:jettison:jar:1.1:provided
[INFO] | |  +- com.sun.xml.bind:jaxb-impl:jar:2.2.3-1:provided
[INFO] | |  |  \- javax.xml.bind:jaxb-api:jar:2.2.2:provided
[INFO] | |  | +- javax.xml.stream:stax-api:jar:1.0-2:provided
[INFO] | |  | \- javax.activation:activation:jar:1.1:provided
[INFO] | |  +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.2:provided
[INFO] | |  \- org.codehaus.jackson:jackson-xc:jar:1.9.2:provided
[INFO] | +- com.sun.jersey:jersey-server:jar:1.19:provided
[INFO] | +- commons-logging:commons-logging:jar:1.1.3:provided
[INFO] | +- net.java.dev.jets3t:jets3t:jar:0.9.0:provided
[INFO] | |  \- com.jamesmurty.utils:java-xmlbuilder:jar:0.4:provided
[INFO] | +- commons-lang:commons-lang:jar:2.6:provided
[INFO] | +- commons-configuration:commons-configuration:jar:1.6:provided
[INFO] | |  +- commons-digester:commons-digester:jar:1.8:provided
[INFO] | |  |  \- commons-beanutils:commons-beanutils:jar:1.7.0:provided
[INFO] | |  \- commons-beanutils:commons-beanutils-core:jar:1.8.0:provided
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:provided
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:provided
[INFO] | +- org.apache.avro:avro:jar:1.7.4:provided
[INFO] | |  +- com.thoughtworks.paranamer:paranamer:jar:2.3:provided
[INFO] | |  \- org.xerial.snappy:snappy-java:jar:1.0.4.1:provided
[INFO] | +- com.google.re2j:re2j:jar:1.0:provided
[INFO] | +- com.google.code.gson:gson:jar:2.2.4:provided
[INFO] | +- org.apache.hadoop:hadoop-auth:jar:3.0.0-alpha1:provided
[INFO] | |  +- com.nimbusds:nimbus-jose-jwt:jar:3.9:provided
[INFO] | |  |  +- net.jcip:jcip-annotations:jar:1.0:provided
[INFO] | |  |  \- net.minidev:json-smart:jar:1.1.1:provided
[INFO] | |  \- org.apache.curator:curator-framework:jar:2.7.1:provided
[INFO] | +- 

[jira] [Updated] (RATIS-41) Avoid using google guava in common

2017-03-17 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-41:
-
Attachment: r41_20170317.patch

r41_20170317.patch: updated with trunk.

> Avoid using google guava in common
> --
>
> Key: RATIS-41
> URL: https://issues.apache.org/jira/browse/RATIS-41
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r41_20170313.patch, r41_20170314.patch, 
> r41_20170317.patch
>
>
> Similar to RATIS-39, we remove the use of google guava in the ratis-common 
> module.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-47) Shade google guava

2017-03-17 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-47?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-47:
-
Description: Even we do not use google guava internally, gRPC still depends 
on it.  Therefore, we need to shade it.  (was: Even we do not use google guava 
internal, gRPC still depends on it.  Therefore, we need to shade it.)

> Shade google guava
> --
>
> Key: RATIS-47
> URL: https://issues.apache.org/jira/browse/RATIS-47
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>
> Even we do not use google guava internally, gRPC still depends on it.  
> Therefore, we need to shade it.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-47) Shade google guava

2017-03-20 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-47?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-47:
-
Attachment: r47_20170320.patch

r47_20170320.patch:
- ratis-grpc is using io.netty (not the shaded netty). This patch combines 
ratis-netty-shaded with ratis-proto-shaded so that ratis-grpc will use the 
shaded netty.
- This patch sets the dependencies in ratis-proto-shaded to be optional.

We may consider combining ratis-hadoop-shaded with ratis-proto-shaded.  I 
hesitate doing so for the moment since ratis-hadoop-shaded has a large 
dependency tree.  It makes things complicated.

> Shade google guava
> --
>
> Key: RATIS-47
> URL: https://issues.apache.org/jira/browse/RATIS-47
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r47_20170317.patch, r47_20170320.patch
>
>
> Even we do not use google guava internally, gRPC still depends on it.  
> Therefore, we need to shade it.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-39) Avoid using google guava so that it is easier to shade

2017-03-14 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-39?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-39:
-
Attachment: r39_20170314.patch

Thanks Mingliang.  Here is a new patch addressing your comments.

r39_20170314.patch

> Avoid using google guava so that it is easier to shade
> --
>
> Key: RATIS-39
> URL: https://issues.apache.org/jira/browse/RATIS-39
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r39_20170309.patch, r39_20170310.patch, 
> r39_20170314.patch
>
>
> In order to allow user application using google guava, we should either not 
> using it or shade it.
> Except for ratis-common, we can replace google guava by:
> - Preconditions: add similar methods in our util.  
> - VisibleForTesting: remove it.
> - ThreadFactoryBuilder: use Daemon::new
> - Charsets: use StandardCharsets
> - Lists, ImmutableList: use java collections
> - Throwables; just throw IOException



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-39) Avoid using google guava

2017-03-14 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-39?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-39:
-
Summary: Avoid using google guava  (was: Avoid using google guava so that 
it is easier to shade)

> Avoid using google guava
> 
>
> Key: RATIS-39
> URL: https://issues.apache.org/jira/browse/RATIS-39
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r39_20170309.patch, r39_20170310.patch, 
> r39_20170314.patch
>
>
> In order to allow user application using google guava, we should either not 
> using it or shade it.
> Except for ratis-common, we can replace google guava by:
> - Preconditions: add similar methods in our util.  
> - VisibleForTesting: remove it.
> - ThreadFactoryBuilder: use Daemon::new
> - Charsets: use StandardCharsets
> - Lists, ImmutableList: use java collections
> - Throwables; just throw IOException



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-39) Avoid using google guava

2017-03-14 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-39?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-39.
--
   Resolution: Fixed
Fix Version/s: 0.1

I have committed this.

> Avoid using google guava
> 
>
> Key: RATIS-39
> URL: https://issues.apache.org/jira/browse/RATIS-39
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Fix For: 0.1
>
> Attachments: r39_20170309.patch, r39_20170310.patch, 
> r39_20170314.patch
>
>
> In order to allow user application using google guava, we should either not 
> using it or shade it.
> Except for ratis-common, we can replace google guava by:
> - Preconditions: add similar methods in our util.  
> - VisibleForTesting: remove it.
> - ThreadFactoryBuilder: use Daemon::new
> - Charsets: use StandardCharsets
> - Lists, ImmutableList: use java collections
> - Throwables; just throw IOException



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (RATIS-42) Shade netty in ratis

2017-03-15 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-42?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze reassigned RATIS-42:


Assignee: Tsz Wo Nicholas Sze

> Shade netty in ratis
> 
>
> Key: RATIS-42
> URL: https://issues.apache.org/jira/browse/RATIS-42
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>
> We need to shade netty so that the user application can use a different 
> version of netty.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-42) Shade netty in ratis

2017-03-15 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-42:


 Summary: Shade netty in ratis
 Key: RATIS-42
 URL: https://issues.apache.org/jira/browse/RATIS-42
 Project: Ratis
  Issue Type: Improvement
Reporter: Tsz Wo Nicholas Sze


We need to shade netty so that the user application can use a different version 
of netty.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-42) Shade netty in ratis

2017-03-15 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-42?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-42:
-
Attachment: r42_20170315.patch

r42_20170315.patch: 1st patch.  

Will do some clean up.

> Shade netty in ratis
> 
>
> Key: RATIS-42
> URL: https://issues.apache.org/jira/browse/RATIS-42
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r42_20170315.patch
>
>
> We need to shade netty so that the user application can use a different 
> version of netty.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-42) Shade netty in ratis

2017-03-16 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-42?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-42:
-
Attachment: r42_20170316.patch

r42_20170316.patch: adds a new ratis-netty-shaded module.

> Shade netty in ratis
> 
>
> Key: RATIS-42
> URL: https://issues.apache.org/jira/browse/RATIS-42
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r42_20170315.patch, r42_20170316.patch
>
>
> We need to shade netty so that the user application can use a different 
> version of netty.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-47) Shade google guava and combine ratis-netty-shaded with ratis-proto-shaded

2017-03-21 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-47?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15935638#comment-15935638
 ] 

Tsz Wo Nicholas Sze commented on RATIS-47:
--

Have you manually deleted the source before shade?
{code}
rm -rf ratis-proto-shaded/src/main/java
rm -rf ratis-hadoop-shaded/src/main/java
{code}

> Shade google guava and combine ratis-netty-shaded with ratis-proto-shaded
> -
>
> Key: RATIS-47
> URL: https://issues.apache.org/jira/browse/RATIS-47
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Fix For: 0.1
>
> Attachments: r47_20170317.patch, r47_20170320.patch
>
>
> Even we do not use google guava internally, gRPC still depends on it.  
> Therefore, we need to shade it.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-41) Avoid using google guava in common

2017-03-14 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-41:
-
Attachment: r41_20170314.patch

> Avoid using google guava in common
> --
>
> Key: RATIS-41
> URL: https://issues.apache.org/jira/browse/RATIS-41
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r41_20170313.patch, r41_20170314.patch
>
>
> Similar to RATIS-39, we remove the use of google guava in the ratis-common 
> module.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-41) Avoid using google guava in common

2017-03-14 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-41:
-
Attachment: r41_20170314.patch

r41_20170314.patch: sync'ed with trunk; also fixing pom and javac warnings.

> Avoid using google guava in common
> --
>
> Key: RATIS-41
> URL: https://issues.apache.org/jira/browse/RATIS-41
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r41_20170313.patch, r41_20170314.patch
>
>
> Similar to RATIS-39, we remove the use of google guava in the ratis-common 
> module.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-41) Avoid using google guava in common

2017-03-14 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-41:
-
Attachment: (was: r41_20170314.patch)

> Avoid using google guava in common
> --
>
> Key: RATIS-41
> URL: https://issues.apache.org/jira/browse/RATIS-41
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r41_20170313.patch
>
>
> Similar to RATIS-39, we remove the use of google guava in the ratis-common 
> module.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-44) Move hadoop out from ratis-proto-shaded

2017-03-16 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-44:


 Summary: Move hadoop out from ratis-proto-shaded
 Key: RATIS-44
 URL: https://issues.apache.org/jira/browse/RATIS-44
 Project: Ratis
  Issue Type: Improvement
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


The dependency tree shows that all the ratis modules have a transitive 
dependency to hadoop since everything depends on ratis-proto-shaded and 
ratis-proto-shaded depends on hadoop (in order to shade it).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-45) Move gRPC out from ratis-proto-shaded

2017-03-16 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-45:


 Summary: Move gRPC out from ratis-proto-shaded
 Key: RATIS-45
 URL: https://issues.apache.org/jira/browse/RATIS-45
 Project: Ratis
  Issue Type: Improvement
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


Similar to RATIS-44, all the modules have a transitive dependency on gRPC.  We 
should move gRPC out.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-56) Update project version to 0.1.0-alpha

2017-04-01 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15952445#comment-15952445
 ] 

Tsz Wo Nicholas Sze commented on RATIS-56:
--

{code}
On an unrelated note, what can help us for driving frequent releases is to have 
a script to drive the release process. I think we should do something like 
this: https://github.com/apache/hbase/blob/master/dev-support/make_rc.sh. 
{code}
That is a good idea.  Let me file a JIRA.

> Update project version to 0.1.0-alpha
> -
>
> Key: RATIS-56
> URL: https://issues.apache.org/jira/browse/RATIS-56
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r56_20170330.patch, r56_20170402.patch
>
>
> We may use the following command to update the project version from 
> 0.1-SNAPSHOT to 0.1.0-alpha.
> {code}
> find . -name pom.xml | xargs sed -i.old "s/0.1-SNAPSHOT/0.1.0-alpha/g" 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-56) Update project version to 0.1.0-alpha

2017-04-01 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-56?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-56:
-
Attachment: r56_20170402.patch

Thanks Enis.  Let's commit this as the last patch of the release.

r56_20170402.patch: changes also ratis-replicated-map/pom.xml 

> Update project version to 0.1.0-alpha
> -
>
> Key: RATIS-56
> URL: https://issues.apache.org/jira/browse/RATIS-56
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r56_20170330.patch, r56_20170402.patch
>
>
> We may use the following command to update the project version from 
> 0.1-SNAPSHOT to 0.1.0-alpha.
> {code}
> find . -name pom.xml | xargs sed -i.old "s/0.1-SNAPSHOT/0.1.0-alpha/g" 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-54) Bump maven.min.version to 3.3.9

2017-04-04 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-54?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-54.
--
   Resolution: Fixed
Fix Version/s: 0.1.0-alpha

Thanks again, Enis.

I have committed this.

> Bump maven.min.version to 3.3.9
> ---
>
> Key: RATIS-54
> URL: https://issues.apache.org/jira/browse/RATIS-54
> Project: Ratis
>  Issue Type: Task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Fix For: 0.1.0-alpha
>
> Attachments: r54_20170330.patch, r54_20170331.patch
>
>
> [~enis] found that some earlier Maven 3.x version does not work well; see 
> [this 
> comment|https://issues.apache.org/jira/browse/RATIS-47?focusedCommentId=15935648=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15935648].
> Maven 3.3.9 is the latest stable release, released on 2015-11-14; see 
> https://maven.apache.org/docs/history.html
> It seems reasonable to require Maven 3.3.9.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-56) Update project version to 0.1.0-alpha

2017-04-05 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15956561#comment-15956561
 ] 

Tsz Wo Nicholas Sze commented on RATIS-56:
--

[~khmarbaise], thanks for the note.  I do not realize that there is a {{mvn 
versons:set}} command.  Will use it if it fits.

> Update project version to 0.1.0-alpha
> -
>
> Key: RATIS-56
> URL: https://issues.apache.org/jira/browse/RATIS-56
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r56_20170330.patch, r56_20170402.patch
>
>
> We may use the following command to update the project version from 
> 0.1-SNAPSHOT to 0.1.0-alpha.
> {code}
> find . -name pom.xml | xargs sed -i.old "s/0.1-SNAPSHOT/0.1.0-alpha/g" 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (RATIS-56) Update project version to 0.1.0-alpha

2017-04-05 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15956561#comment-15956561
 ] 

Tsz Wo Nicholas Sze edited comment on RATIS-56 at 4/5/17 9:15 AM:
--

[~khmarbaise], thanks for the note.  I do not realize that there is a {{mvn 
versons:set}} command.  Will try it.


was (Author: szetszwo):
[~khmarbaise], thanks for the note.  I do not realize that there is a {{mvn 
versons:set}} command.  Will use it if it fits.

> Update project version to 0.1.0-alpha
> -
>
> Key: RATIS-56
> URL: https://issues.apache.org/jira/browse/RATIS-56
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r56_20170330.patch, r56_20170402.patch
>
>
> We may use the following command to update the project version from 
> 0.1-SNAPSHOT to 0.1.0-alpha.
> {code}
> find . -name pom.xml | xargs sed -i.old "s/0.1-SNAPSHOT/0.1.0-alpha/g" 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Reopened] (RATIS-52) Refactor RaftUtils into different classes

2017-03-31 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-52?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze reopened RATIS-52:
--

Sorry, I have tried to fix it but it is not very easy.  I have reverted it.

> Refactor RaftUtils into different classes
> -
>
> Key: RATIS-52
> URL: https://issues.apache.org/jira/browse/RATIS-52
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Enis Soztutar
>Assignee: Enis Soztutar
> Fix For: 0.1.0-alpha
>
> Attachments: ratis-52_v1.patch, ratis-52_v2.patch
>
>
> Ideally we should not have a generic {{RaftUtils}} class. The code should be 
> broken up into at least: 
> {code}
> ReflectionUtils -> All reflection, construction, initialization logic 
> IOUtils -> Add buffer and IO logic 
> SystemUtils or PlatformUtils -> OS type detection, etc 
> Preconditions (or something like that) -> assertTrue, etc 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-54) Bump maven.min.version to 3.3.9

2017-03-31 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15950404#comment-15950404
 ] 

Tsz Wo Nicholas Sze commented on RATIS-54:
--

Thanks for the review, 

> requiring the latest version is a bit aggressive, but I did not try with an 
> earlier 3.3 release. ...

It seems okay since it was released on 2015-11-14, more than a year ago.

> Do you mind changing the line in BUILDING.md:

Good catch.  Will do.

> Bump maven.min.version to 3.3.9
> ---
>
> Key: RATIS-54
> URL: https://issues.apache.org/jira/browse/RATIS-54
> Project: Ratis
>  Issue Type: Task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r54_20170330.patch
>
>
> [~enis] found that some earlier Maven 3.x version does not work well; see 
> [this 
> comment|https://issues.apache.org/jira/browse/RATIS-47?focusedCommentId=15935648=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15935648].
> Maven 3.3.9 is the latest stable release, released on 2015-11-14; see 
> https://maven.apache.org/docs/history.html
> It seems reasonable to require Maven 3.3.9.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-65) Add a script to automate the release process

2017-04-02 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-65:


 Summary: Add a script to automate the release process
 Key: RATIS-65
 URL: https://issues.apache.org/jira/browse/RATIS-65
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


As suggested by [~enis] below, we should add a script to automate the release 
process.
{quote}
On an unrelated note, what can help us for driving frequent releases is to have 
a script to drive the release process. I think we should do something like 
this: https://github.com/apache/hbase/blob/master/dev-support/make_rc.sh. 
{quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (RATIS-72) Enable Ratis to run on high-performance RDMA networks

2017-04-13 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze reassigned RATIS-72:


Assignee: Animesh Trivedi

> Enable Ratis to run on high-performance RDMA networks
> -
>
> Key: RATIS-72
> URL: https://issues.apache.org/jira/browse/RATIS-72
> Project: Ratis
>  Issue Type: New Feature
>Reporter: Animesh Trivedi
>Assignee: Animesh Trivedi
>Priority: Minor
>
> We want to enable Ratis to run on high-performance RDMA networks. There has 
> already been quite a bit of activity in leveraging RDMA networks in modern 
> data processing stacks. Distributed consensus is one of the problems that can 
> be accelerated using high-performance/RDMA messaging. 
> We start by implementing a Ratis RPC implementation using DiSNI and DaPRC 
> modules (https://github.com/zrlio/) for RDMA networks. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-72) Enable Ratis to run on high-performance RDMA networks

2017-04-13 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-72?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15967378#comment-15967378
 ] 

Tsz Wo Nicholas Sze commented on RATIS-72:
--

Thanks [~atrivedi].  You may use this as an umbrella JIRA and file subtasks for 
the works.

> Enable Ratis to run on high-performance RDMA networks
> -
>
> Key: RATIS-72
> URL: https://issues.apache.org/jira/browse/RATIS-72
> Project: Ratis
>  Issue Type: New Feature
>Reporter: Animesh Trivedi
>Assignee: Animesh Trivedi
>Priority: Minor
>
> We want to enable Ratis to run on high-performance RDMA networks. There has 
> already been quite a bit of activity in leveraging RDMA networks in modern 
> data processing stacks. Distributed consensus is one of the problems that can 
> be accelerated using high-performance/RDMA messaging. 
> We start by implementing a Ratis RPC implementation using DiSNI and DaPRC 
> modules (https://github.com/zrlio/) for RDMA networks. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-67) BUILDING.md file is not correct

2017-04-13 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15967730#comment-15967730
 ] 

Tsz Wo Nicholas Sze commented on RATIS-67:
--

No problem.  Thanks.

> BUILDING.md file is not correct
> ---
>
> Key: RATIS-67
> URL: https://issues.apache.org/jira/browse/RATIS-67
> Project: Ratis
>  Issue Type: Bug
>Affects Versions: 0.1.0-alpha
>Reporter: Karl Heinz Marbaise
>Assignee: Karl Heinz Marbaise
>Priority: Critical
>
> The {{BUILDING.md}} file claims to build RATIS for the first time via:
> {code}
> mvn package -DskipTests
> {code}
> which simply fails with the following output:
> {code}
> [ERROR] Failed to execute goal on project ratis-hadoop-shaded: Could not 
> resolve dependencies for project 
> org.apache.ratis:ratis-hadoop-shaded:jar:0.1-SNAPSHOT: Failure to find 
> org.apache.hadoop:hadoop-common:jar:3.0.0-alpha1 in 
> http://localhost:8081/nexus/content/groups/public was cached in the local 
> repository, resolution will not be reattempted until the update interval of 
> nexus has elapsed or updates are forced -> [Help 1]
> {code}
> This looks like those dependencies are used instead of being dependencies 
> defined by {{true

[jira] [Commented] (RATIS-70) Separate term/index/offset and log entry content in LogSegment

2017-04-16 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-70?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15970347#comment-15970347
 ] 

Tsz Wo Nicholas Sze commented on RATIS-70:
--

+1 the new patch looks good.  Thanks!

> Separate term/index/offset and log entry content in LogSegment
> --
>
> Key: RATIS-70
> URL: https://issues.apache.org/jira/browse/RATIS-70
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-70.000.patch, RATIS-70.001.patch, 
> RATIS-70.002.patch
>
>
> The current RaftLogCache consists of LogSegment, and logSegment consists of 
> log entries. Instead of directly storing all the log entries, we should 
> separate the term/index/offset information and the entry content information. 
> The former part is more like the index information and can be always kept in 
> the memory. The entry content part can later be evicted from the memory based 
> on eviction policies.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-30) Provide a way to pass parameters to rpc implementations

2017-03-03 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-30?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-30:
-
Attachment: r30_20170303.patch

Thanks Jing, here is a new patch.

r30_20170303.patch

> Provide a way to pass parameters to rpc implementations
> ---
>
> Key: RATIS-30
> URL: https://issues.apache.org/jira/browse/RATIS-30
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r30_20170301.patch, r30_20170303.patch
>
>
> In this JIRA, we address the following comment from [~jingzhao] in RATIS-28.
> {quote}
> We can consider use some other way for library users to pass extra 
> configuration objects for their RPC engine (e.g., Hadoop Configuration) into 
> the RPC factory. In this way we can get a neater API for RPC creation and 
> avoid using an lazy initialization supplier in RaftServerImpl.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-15) Add call ID to identify a client request and its retry

2017-03-03 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-15?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15895397#comment-15895397
 ] 

Tsz Wo Nicholas Sze commented on RATIS-15:
--

Thanks Jing.  Some minor comments:
- RaftClient.DEFAULT_SEQNUM is no longer used except in RaftServerConstants.  
Let's remove it.
- Should we rename RaftServerConstants.DEFAULT_SEQNUM to something else?



> Add call ID to identify a client request and its retry
> --
>
> Key: RATIS-15
> URL: https://issues.apache.org/jira/browse/RATIS-15
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-15.000.patch, RATIS-15.001.patch
>
>
> Add call ID in raft client. A client's request and its retry will share the 
> same call ID. Remote Raft peers then can use "Client ID + Call ID" to 
> identify the retry requests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-30) Provide a way to pass parameters to rpc implementations

2017-03-03 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-30?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-30.
--
   Resolution: Fixed
Fix Version/s: 0.1

I have committed this.

> Provide a way to pass parameters to rpc implementations
> ---
>
> Key: RATIS-30
> URL: https://issues.apache.org/jira/browse/RATIS-30
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Fix For: 0.1
>
> Attachments: r30_20170301.patch, r30_20170303b.patch, 
> r30_20170303.patch
>
>
> In this JIRA, we address the following comment from [~jingzhao] in RATIS-28.
> {quote}
> We can consider use some other way for library users to pass extra 
> configuration objects for their RPC engine (e.g., Hadoop Configuration) into 
> the RPC factory. In this way we can get a neater API for RPC creation and 
> avoid using an lazy initialization supplier in RaftServerImpl.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-41) Avoid using google guava in common

2017-03-13 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-41:
-
Attachment: r41_20170313.patch

r41_20170313.patch: 1st patch (depends on RATIS-39)

> Avoid using google guava in common
> --
>
> Key: RATIS-41
> URL: https://issues.apache.org/jira/browse/RATIS-41
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r41_20170313.patch
>
>
> Similar to RATIS-39, we remove the use of google guava in the ratis-common 
> module.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-41) Avoid using google guava in common

2017-03-13 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-41:


 Summary: Avoid using google guava in common
 Key: RATIS-41
 URL: https://issues.apache.org/jira/browse/RATIS-41
 Project: Ratis
  Issue Type: Improvement
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze






--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-41) Avoid using google guava in common

2017-03-13 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-41:
-
Description: Similar to RATIS-39, we remove the use of google guava in the 
ratis-common module.

> Avoid using google guava in common
> --
>
> Key: RATIS-41
> URL: https://issues.apache.org/jira/browse/RATIS-41
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>
> Similar to RATIS-39, we remove the use of google guava in the ratis-common 
> module.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (RATIS-35) Add SafeVarargs annotation for ConfUtils methods

2017-03-06 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-35?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze reassigned RATIS-35:


Assignee: Tsz Wo Nicholas Sze

> Add SafeVarargs annotation for ConfUtils methods
> 
>
> Key: RATIS-35
> URL: https://issues.apache.org/jira/browse/RATIS-35
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Jing Zhao
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
>
> After RATIS-34, there are a couple of methods in ConfUtils with "Possible 
> heap pollution from parameterized vararg type" warning. We can add 
> SafeVarargs annotations to suppress the warning.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-36) Use ConfUtils for other ConfigKeys

2017-03-06 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15898515#comment-15898515
 ] 

Tsz Wo Nicholas Sze commented on RATIS-36:
--

Below are lists of keys:
- RaftClientConfigKeys
{code}
*** interface org.apache.ratis.client.RaftClientConfigKeys ***
constant: PREFIX = raft.client
  
  *** interface org.apache.ratis.client.RaftClientConfigKeys$Rpc ***
  constant: PREFIX = raft.client.rpc
  key: raft.client.rpc.timeout (TimeDuration, default=300 milliseconds)
{code}
- RaftConfigKeys
{code}
*** interface org.apache.ratis.RaftConfigKeys ***
constant: PREFIX = raft
  
  *** interface org.apache.ratis.RaftConfigKeys$Rpc ***
  constant: PREFIX = raft.rpc
  key: raft.rpc.type (String, default=GRPC)
{code}
-  GrpcConfigKeys
{code}
*** interface org.apache.ratis.grpc.GrpcConfigKeys ***
constant: PREFIX = raft.grpc
  
  *** interface org.apache.ratis.grpc.GrpcConfigKeys$OutputStream ***
  constant: PREFIX = raft.grpc.outputstream
  key: raft.grpc.outputstream.buffer.size (int, default=65536)
  key: raft.grpc.outputstream.retry.times (int, default=5)
  key: raft.grpc.outputstream.retry.interval (TimeDuration, default=300 
milliseconds)
  key: raft.grpc.outputstream.outstanding.appends.max (int, default=128)
  
  *** interface org.apache.ratis.grpc.GrpcConfigKeys$Server ***
  constant: PREFIX = raft.grpc.server
  key: raft.grpc.server.port (int, default=0)
  key: raft.grpc.server.message.size.max (int, default=67108864)
  key: raft.grpc.server.leader.outstanding.appends.max (int, default=128)
{code}
- HadoopConfigKeys
{code}
*** interface org.apache.ratis.hadooprpc.HadoopConfigKeys ***
constant: PREFIX = raft.hadoop
parameter: raft.hadoop.conf (class org.apache.hadoop.conf.Configuration)
  
  *** interface org.apache.ratis.hadooprpc.HadoopConfigKeys$Ipc ***
  constant: PREFIX = raft.hadoop.ipc
  key: raft.hadoop.ipc.address (String, default=0.0.0.0:10718)
  key: raft.hadoop.ipc.handlers (int, default=10)
{code}
- NettyConfigKeys
{code}
*** interface org.apache.ratis.netty.NettyConfigKeys ***
constant: PREFIX = raft.netty
  
  *** interface org.apache.ratis.netty.NettyConfigKeys$Server ***
  constant: PREFIX = raft.netty.server
  key: raft.netty.server.port (int, default=0)
{code}


> Use ConfUtils for other ConfigKeys
> --
>
> Key: RATIS-36
> URL: https://issues.apache.org/jira/browse/RATIS-36
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r36_20170306.patch
>
>
> In RATIS-34, we change RaftServerConfigKeys to use ConfUtils.  We do similar 
> changes here for RaftClientConfigKeys, RaftConfigKeys, RaftGrpcConfigKeys, 
> HadoopConfigKeys and NettyConfigKeys.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-33) Protobuf gets compiled only when both activation conditions are triggered

2017-03-02 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-33?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15893015#comment-15893015
 ] 

Tsz Wo Nicholas Sze commented on RATIS-33:
--

Thanks for working on this. Tried the patch.  It is working fine.

- Let's add -DskipTests and quote it by ``` for the command below.
 {code}
 run with
-$ mvn install -Dcompile-protobuf
+$ mvn package -Dcompile-protobuf
 {code}
- It seems that there is no mvn command to remove the shaded source.  We 
probably should add a new mvn target.  We may do it separately.

> Protobuf gets compiled only when both activation conditions are triggered
> -
>
> Key: RATIS-33
> URL: https://issues.apache.org/jira/browse/RATIS-33
> Project: Ratis
>  Issue Type: Bug
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-33.000.patch, RATIS-33.001.patch, 
> RATIS-33.002.patch
>
>
> In RATIS-26 we specify the following activation conditions for compiling 
> protobuf files:
> {code}
>   
> 
> 
>   ${sources.dir}
> 
> 
>   compile-protobuf
> 
>   
> {code}
> This does not work after maven version 3.2.2, due to MNG-4565 that changes 
> the activation condition relationships from OR to AND. Thus we have to do 
> both 1) delete ratis-proto-shaded/src/main/java, and 2) include 
> -Dcompile-protobuf in the command to trigger the protobuf compilation.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-98) Cache RaftId byte[] and String

2017-08-02 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-98?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-98:
-
Attachment: r98_20170802.patch

r98_20170802.patch: sync'ed with trunk.

> Cache RaftId byte[] and String
> --
>
> Key: RATIS-98
> URL: https://issues.apache.org/jira/browse/RATIS-98
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Attachments: r98_20170727.patch, r98_20170731.patch, 
> r98_20170802.patch
>
>
> RaftId may convert the same UUID to byte[] and String multiple times.  It is 
> better to cache it.



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


[jira] [Created] (RATIS-100) Test multiple raft groups with a state machine

2017-08-02 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-100:
-

 Summary: Test multiple raft groups with a state machine
 Key: RATIS-100
 URL: https://issues.apache.org/jira/browse/RATIS-100
 Project: Ratis
  Issue Type: Test
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


We propose to add a test similar to 
ReinitializationBaseTest.runTestReinitializeMultiGroups(..) with a state 
machine so that it can test if the states are recorded correctly.



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


[jira] [Updated] (RATIS-97) Leader may not have majority after setConfiguration

2017-08-01 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-97?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-97:
-
Attachment: r97_20170801b.patch

r97_20170801b.patch: fixes NetUtils.address2String(..) so that it works with 
ipv6 addresses.

> Leader may not have majority after setConfiguration
> ---
>
> Key: RATIS-97
> URL: https://issues.apache.org/jira/browse/RATIS-97
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r97_20170728.patch, r97_20170731.patch, 
> r97_20170801b.patch, r97_20170801.patch
>
>
> Here is an example: Suppose a group has 3 servers and one of them is the 
> leader.  Use setConfiguration to add 6 more servers.  The leader is still 
> running as a leader although it does not has majority anymore.  The 6 new 
> servers may elect a new leader among them.  Finally, there are two leaders in 
> the group.



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


[jira] [Updated] (RATIS-105) Server should check group id for client requests

2017-08-15 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-105:
--
Attachment: r105_20170815.patch

r105_20170815.patch: renames RaftNotLeaderExceptionBaseTest to 
RaftExceptionBaseTest and moves the new tests to there.

> Server should check group id for client requests 
> -
>
> Key: RATIS-105
> URL: https://issues.apache.org/jira/browse/RATIS-105
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r105_20170814.patch, r105_20170815.patch
>
>
> In RATIS-100, we found a bug that a server may response to another server 
> with different group so that a cluster with multiple groups may not work 
> correctly.  The solution is to check the group id for each server request 
> before responding to it.
> In this JIRA, we add a similar group id check for the client requests.



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


[jira] [Commented] (RATIS-94) Expose basic information over JMX

2017-08-11 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-94?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16123847#comment-16123847
 ] 

Tsz Wo Nicholas Sze commented on RATIS-94:
--

[~elek], thanks a lot for the contribution!

The CopyOnWriteArrayList may not work well in LeaderState since it does not 
support remove.   :)

Now, RaftReconfigurationBaseTest.testRemovePeers() fails with 
UnsupportedOperationException.
{code}
Exception in thread "Thread-102" java.lang.UnsupportedOperationException
at 
java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176)
at 
org.apache.ratis.server.impl.LeaderState.updateSenders(LeaderState.java:254)
at 
org.apache.ratis.server.impl.LeaderState.replicateNewConf(LeaderState.java:483)
at 
org.apache.ratis.server.impl.LeaderState.checkAndUpdateConfiguration(LeaderState.java:448)
at 
org.apache.ratis.server.impl.LeaderState.updateLastCommitted(LeaderState.java:431)
at 
org.apache.ratis.server.impl.LeaderState.handleEvent(LeaderState.java:330)
at 
org.apache.ratis.server.impl.LeaderState.access$500(LeaderState.java:49)
at 
org.apache.ratis.server.impl.LeaderState$EventProcessor.run(LeaderState.java:298)
{code}


> Expose basic information over JMX
> -
>
> Key: RATIS-94
> URL: https://issues.apache.org/jira/browse/RATIS-94
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Elek, Marton
>Assignee: Elek, Marton
> Fix For: 0.2.0-alpha
>
> Attachments: RATIS-94-1.patch, RATIS-94.2.patch, RATIS-94.3.patch, 
> RATIS-94.4.patch
>
>
> To make it easier to debug the current state of the nodes the basic 
> RatisServer information should be exposed over the JMX interface. Such as: 
> role (leader,follower), latest term, index, follower peers (in case of LEADER)



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


[jira] [Created] (RATIS-104) Add an RPC to get server information

2017-08-14 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-104:
-

 Summary: Add an RPC to get server information
 Key: RATIS-104
 URL: https://issues.apache.org/jira/browse/RATIS-104
 Project: Ratis
  Issue Type: New Feature
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


We propose to add a getServerInfo RPC to get server information from a server.



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


[jira] [Created] (RATIS-105) Server should check group id for client requests

2017-08-14 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-105:
-

 Summary: Server should check group id for client requests 
 Key: RATIS-105
 URL: https://issues.apache.org/jira/browse/RATIS-105
 Project: Ratis
  Issue Type: Improvement
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


In RATIS-100, we found a bug that a server may response to another server with 
different group so that a cluster with multiple groups may not work correctly.  
The solution is to check the group id for each server request before responding 
to it.

In this JIRA, we add a similar group id check for the client requests.



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


[jira] [Updated] (RATIS-105) Server should check group id for client requests

2017-08-14 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-105:
--
Attachment: r105_20170814.patch

r105_20170814.patch: check group id for all client requests

Note that this patch assumes RATIS-100.



> Server should check group id for client requests 
> -
>
> Key: RATIS-105
> URL: https://issues.apache.org/jira/browse/RATIS-105
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r105_20170814.patch
>
>
> In RATIS-100, we found a bug that a server may response to another server 
> with different group so that a cluster with multiple groups may not work 
> correctly.  The solution is to check the group id for each server request 
> before responding to it.
> In this JIRA, we add a similar group id check for the client requests.



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


[jira] [Updated] (RATIS-100) Test multiple raft groups with a state machine

2017-08-10 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-100:
--
Attachment: r100_20170810.patch

r100_20170810.patch:
- reverts the changes in LeaderState.checkNewPeers() since some tests in 
RaftReconfigurationBaseTest fail.
- changes ReinitializationBaseTest so that reinitialize calls are invoked 
before setConfiguration.  It seems fine to assume all new servers must be 
initialized before setConfiguration.

All tests are passed in my machine after the patch.

> Test multiple raft groups with a state machine
> --
>
> Key: RATIS-100
> URL: https://issues.apache.org/jira/browse/RATIS-100
> Project: Ratis
>  Issue Type: Test
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r100_20170804.patch, r100_20170809b.patch, 
> r100_20170809c.patch, r100_20170809.patch, r100_20170810.patch, 
> r100_no_leader_case.log
>
>
> We propose to add a test similar to 
> ReinitializationBaseTest.runTestReinitializeMultiGroups(..) with a state 
> machine so that it can test if the states are recorded correctly.



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


[jira] [Commented] (RATIS-103) LeaderState.updateSenders may throws UnsupportedOperationException

2017-08-11 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16123891#comment-16123891
 ] 

Tsz Wo Nicholas Sze commented on RATIS-103:
---

All tests passed after the patch.

> LeaderState.updateSenders may throws UnsupportedOperationException
> --
>
> Key: RATIS-103
> URL: https://issues.apache.org/jira/browse/RATIS-103
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Attachments: r103_20170811.patch
>
>
> The CopyOnWriteArrayList may not work well in LeaderState since it does not 
> support remove.
> RaftReconfigurationBaseTest.testRemovePeers() fails with 
> UnsupportedOperationException.
> {code}
> Exception in thread "Thread-102" java.lang.UnsupportedOperationException
> at 
> java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176)
> at 
> org.apache.ratis.server.impl.LeaderState.updateSenders(LeaderState.java:254)
> ...
> {code}



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


[jira] [Updated] (RATIS-103) LeaderState.updateSenders may throws UnsupportedOperationException

2017-08-11 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-103:
--
Attachment: r103_20170811b.patch

r103_20170811b.patch: uses addAll and removeAll for all mutations.

> LeaderState.updateSenders may throws UnsupportedOperationException
> --
>
> Key: RATIS-103
> URL: https://issues.apache.org/jira/browse/RATIS-103
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Attachments: r103_20170811b.patch, r103_20170811.patch
>
>
> The CopyOnWriteArrayList may not work well in LeaderState since it does not 
> support remove.
> RaftReconfigurationBaseTest.testRemovePeers() fails with 
> UnsupportedOperationException.
> {code}
> Exception in thread "Thread-102" java.lang.UnsupportedOperationException
> at 
> java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176)
> at 
> org.apache.ratis.server.impl.LeaderState.updateSenders(LeaderState.java:254)
> ...
> {code}



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


[jira] [Updated] (RATIS-103) LeaderState.updateSenders may throws UnsupportedOperationException

2017-08-11 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-103:
--
Attachment: r103_20170811.patch

r103_20170811.patch: uses Collectors.toList()  (the current default is 
ArrayList)

> LeaderState.updateSenders may throws UnsupportedOperationException
> --
>
> Key: RATIS-103
> URL: https://issues.apache.org/jira/browse/RATIS-103
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Attachments: r103_20170811.patch
>
>
> The CopyOnWriteArrayList may not work well in LeaderState since it does not 
> support remove.
> RaftReconfigurationBaseTest.testRemovePeers() fails with 
> UnsupportedOperationException.
> {code}
> Exception in thread "Thread-102" java.lang.UnsupportedOperationException
> at 
> java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176)
> at 
> org.apache.ratis.server.impl.LeaderState.updateSenders(LeaderState.java:254)
> ...
> {code}



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


[jira] [Commented] (RATIS-103) LeaderState.updateSenders may throws UnsupportedOperationException

2017-08-11 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16124119#comment-16124119
 ] 

Tsz Wo Nicholas Sze commented on RATIS-103:
---

> I think it's more safe (but let me know if I am wrong) to use the normal 
> remove method of the List interface instead of the remove method on the 
> iterator.  ...

This is a good idea.  Let's also use addAll and removeAll; otherwise, each add 
and remove will copy a new list in CopyOnWriteArrayList.  Will update the patch.

> LeaderState.updateSenders may throws UnsupportedOperationException
> --
>
> Key: RATIS-103
> URL: https://issues.apache.org/jira/browse/RATIS-103
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Attachments: r103_20170811.patch
>
>
> The CopyOnWriteArrayList may not work well in LeaderState since it does not 
> support remove.
> RaftReconfigurationBaseTest.testRemovePeers() fails with 
> UnsupportedOperationException.
> {code}
> Exception in thread "Thread-102" java.lang.UnsupportedOperationException
> at 
> java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176)
> at 
> org.apache.ratis.server.impl.LeaderState.updateSenders(LeaderState.java:254)
> ...
> {code}



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


[jira] [Commented] (RATIS-103) LeaderState.updateSenders may throws UnsupportedOperationException

2017-08-11 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16123869#comment-16123869
 ] 

Tsz Wo Nicholas Sze commented on RATIS-103:
---

It seems that we could simply use ArrayList instead of CopyOnWriteArrayList.  
Will check it with the unit tests.

> LeaderState.updateSenders may throws UnsupportedOperationException
> --
>
> Key: RATIS-103
> URL: https://issues.apache.org/jira/browse/RATIS-103
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
>
> The CopyOnWriteArrayList may not work well in LeaderState since it does not 
> support remove.
> RaftReconfigurationBaseTest.testRemovePeers() fails with 
> UnsupportedOperationException.
> {code}
> Exception in thread "Thread-102" java.lang.UnsupportedOperationException
> at 
> java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176)
> at 
> org.apache.ratis.server.impl.LeaderState.updateSenders(LeaderState.java:254)
> ...
> {code}



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


[jira] [Updated] (RATIS-100) Test multiple raft groups with a state machine

2017-08-11 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-100:
--
Attachment: r100_20170811.patch

r100_20170811.patch: some minor changes.

Needs RATIS-103; otherwise, some tests may fail.

> Test multiple raft groups with a state machine
> --
>
> Key: RATIS-100
> URL: https://issues.apache.org/jira/browse/RATIS-100
> Project: Ratis
>  Issue Type: Test
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r100_20170804.patch, r100_20170809b.patch, 
> r100_20170809c.patch, r100_20170809.patch, r100_20170810.patch, 
> r100_20170811.patch, r100_no_leader_case.log
>
>
> We propose to add a test similar to 
> ReinitializationBaseTest.runTestReinitializeMultiGroups(..) with a state 
> machine so that it can test if the states are recorded correctly.



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


[jira] [Resolved] (RATIS-103) LeaderState.updateSenders may throws UnsupportedOperationException

2017-08-12 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-103.
---
   Resolution: Fixed
Fix Version/s: 0.2.0-alpha

Thanks Jing and Elek for taking a look!

I have committed this.

> LeaderState.updateSenders may throws UnsupportedOperationException
> --
>
> Key: RATIS-103
> URL: https://issues.apache.org/jira/browse/RATIS-103
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Fix For: 0.2.0-alpha
>
> Attachments: r103_20170811b.patch, r103_20170811.patch
>
>
> The CopyOnWriteArrayList may not work well in LeaderState since it does not 
> support remove.
> RaftReconfigurationBaseTest.testRemovePeers() fails with 
> UnsupportedOperationException.
> {code}
> Exception in thread "Thread-102" java.lang.UnsupportedOperationException
> at 
> java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176)
> at 
> org.apache.ratis.server.impl.LeaderState.updateSenders(LeaderState.java:254)
> ...
> {code}



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


[jira] [Commented] (RATIS-93) Filter peers from the iteration before random selection

2017-07-11 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-93?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16082979#comment-16082979
 ] 

Tsz Wo Nicholas Sze commented on RATIS-93:
--

Just have pushed an amend commit for fixing the wrong import.
{code}
commit 9ed2652d298f5b9f77f8d866bbc829f215418be9 (HEAD -> master, origin/master, 
origin/HEAD)
Author: Tsz-Wo Nicholas Sze 
Date:   Tue Jul 11 13:59:19 2017 -0700

Amend previous commit of RATIS-93: replace netty ThreadLocalRandom import 
with Java ThreadLocalRandom.

diff --git 
a/ratis-common/src/main/java/org/apache/ratis/util/CollectionUtils.java 
b/ratis-common/src/main/java/org/apache/ratis/util/CollectionUtils.java
index 2fdb502..d8eb674 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/CollectionUtils.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/CollectionUtils.java
@@ -20,9 +20,8 @@
 
 package org.apache.ratis.util;
 
-import org.apache.ratis.shaded.io.netty.util.internal.ThreadLocalRandom;
-
 import java.util.*;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
{code}

> Filter peers from the iteration before random selection
> ---
>
> Key: RATIS-93
> URL: https://issues.apache.org/jira/browse/RATIS-93
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Fix For: 0.2.0-alpha
>
> Attachments: r93_20170710.patch
>
>
> When randomly selecting a peer, we first copy the peer list and then select a 
> peer in a loop indefinitely until a new peer is found.
> We could first filter the peers when copying the list.  Then, we can 
> eliminate the loop.



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


[jira] [Resolved] (RATIS-93) Filter peers from the iteration before random selection

2017-07-11 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-93?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-93.
--
   Resolution: Fixed
Fix Version/s: 0.2.0-alpha

Thanks Jing for reviewing the patch.

I have committed this.

> Filter peers from the iteration before random selection
> ---
>
> Key: RATIS-93
> URL: https://issues.apache.org/jira/browse/RATIS-93
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Fix For: 0.2.0-alpha
>
> Attachments: r93_20170710.patch
>
>
> When randomly selecting a peer, we first copy the peer list and then select a 
> peer in a loop indefinitely until a new peer is found.
> We could first filter the peers when copying the list.  Then, we can 
> eliminate the loop.



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


[jira] [Updated] (RATIS-93) Filter peers from the iteration before random selection

2017-07-10 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-93?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-93:
-
Attachment: r93_20170710.patch

r93_20170710.patch: 1st patch.

> Filter peers from the iteration before random selection
> ---
>
> Key: RATIS-93
> URL: https://issues.apache.org/jira/browse/RATIS-93
> Project: Ratis
>  Issue Type: Improvement
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
>Priority: Minor
> Attachments: r93_20170710.patch
>
>
> When randomly selecting a peer, we first copy the peer list and then select a 
> peer in a loop indefinitely until a new peer is found.
> We could first filter the peers when copying the list.  Then, we can 
> eliminate the loop.



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


[jira] [Created] (RATIS-97) Leader may not have majority after setConfiguration

2017-07-25 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-97:


 Summary: Leader may not have majority after setConfiguration
 Key: RATIS-97
 URL: https://issues.apache.org/jira/browse/RATIS-97
 Project: Ratis
  Issue Type: Bug
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


Here is an example: Suppose a group has 3 servers and one of them is the 
leader.  Use setConfiguration to add 6 more servers.  The leader is still 
running as a leader although it does not has majority anymore.  The 6 new 
servers may elect a new leader among them.  Finally, there are two leaders in 
the group.



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


[jira] [Updated] (RATIS-96) LeaderState computeLastCommitted may throw ArrayIndexOutOfBoundsException

2017-07-20 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-96?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-96:
-
Attachment: r96_20170720.patch

r96_20170720.patch: when the indices array is empty, skip update last committed 
index.

> LeaderState computeLastCommitted may throw ArrayIndexOutOfBoundsException
> -
>
> Key: RATIS-96
> URL: https://issues.apache.org/jira/browse/RATIS-96
> Project: Ratis
>  Issue Type: Bug
>Reporter: Tsz Wo Nicholas Sze
> Attachments: r96_20170720.patch
>
>
> {code}
> java.lang.ArrayIndexOutOfBoundsException: 0
>   at 
> org.apache.ratis.server.impl.LeaderState.computeLastCommitted(LeaderState.java:490)
>   at 
> org.apache.ratis.server.impl.LeaderState.updateLastCommitted(LeaderState.java:400)
>   at 
> org.apache.ratis.server.impl.LeaderState.handleEvent(LeaderState.java:329)
>   at 
> org.apache.ratis.server.impl.LeaderState.access$500(LeaderState.java:48)
> {code}
> This happens when followers is empty and not includeSelf == false.



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


[jira] [Resolved] (RATIS-80) Add "Apache" to maven project.name

2017-04-27 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-80?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-80.
--
Resolution: Fixed

Thanks Enis for reviewing.

I have committed this.

> Add "Apache" to maven project.name
> --
>
> Key: RATIS-80
> URL: https://issues.apache.org/jira/browse/RATIS-80
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r80_20170427.patch
>
>
> Currently, all the project names start with "Ratis".  We should change the 
> name prefix to "Apache Ratis".



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-80) Add "Apache" to maven project.name

2017-04-27 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-80?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-80:
-
Attachment: r80_20170427.patch

r80_20170427.patch: 1st patch.

> Add "Apache" to maven project.name
> --
>
> Key: RATIS-80
> URL: https://issues.apache.org/jira/browse/RATIS-80
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r80_20170427.patch
>
>
> Currently, all the project names start with "Ratis".  We should change the 
> name prefix to "Apache Ratis".



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (RATIS-80) Add "Apache" to maven project.name

2017-04-27 Thread Tsz Wo Nicholas Sze (JIRA)
Tsz Wo Nicholas Sze created RATIS-80:


 Summary: Add "Apache" to maven project.name
 Key: RATIS-80
 URL: https://issues.apache.org/jira/browse/RATIS-80
 Project: Ratis
  Issue Type: Sub-task
Reporter: Tsz Wo Nicholas Sze
Assignee: Tsz Wo Nicholas Sze


Currently, all the project names start with "Ratis".  We should change the name 
prefix to "Apache Ratis".



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-83) Add a DISCLAIMER file

2017-04-28 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-83?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-83:
-
Attachment: r83_20170428.patch

r83_20170428.patch: adds DISCLAIMER.txt


> Add a DISCLAIMER file
> -
>
> Key: RATIS-83
> URL: https://issues.apache.org/jira/browse/RATIS-83
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r83_20170428.patch
>
>
> We also need a DISCLAIMER file according to 
> http://incubator.apache.org/guides/branding.html#disclaimers



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-63) Add NOTICE.txt

2017-04-28 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-63?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-63.
--
   Resolution: Fixed
Fix Version/s: 0.1.0-alpha

Thanks Jing for reviewing it.

I have committed this.

> Add NOTICE.txt
> --
>
> Key: RATIS-63
> URL: https://issues.apache.org/jira/browse/RATIS-63
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Fix For: 0.1.0-alpha
>
> Attachments: r63_20170412.patch
>
>
> According to [Licensing 
> Documentation|http://www.apache.org/legal/release-policy.html#licensing-documentation],
>  we need a NOTICE file.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (RATIS-65) Add a script to automate the release process

2017-04-27 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-65?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated RATIS-65:
-
Attachment: r65_20170427.patch

r65_20170427.patch: adds a script to generate source release tar.gz

> Add a script to automate the release process
> 
>
> Key: RATIS-65
> URL: https://issues.apache.org/jira/browse/RATIS-65
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: Tsz Wo Nicholas Sze
>Assignee: Tsz Wo Nicholas Sze
> Attachments: r65_20170427.patch
>
>
> As suggested by [~enis] below, we should add a script to automate the release 
> process.
> {quote}
> On an unrelated note, what can help us for driving frequent releases is to 
> have a script to drive the release process. I think we should do something 
> like this: 
> https://github.com/apache/hbase/blob/master/dev-support/make_rc.sh. 
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (RATIS-78) Ratis does not compile in Intellij

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/RATIS-78?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15983084#comment-15983084
 ] 

Tsz Wo Nicholas Sze commented on RATIS-78:
--

Thanks, Jing!

> Ratis does not compile in Intellij
> --
>
> Key: RATIS-78
> URL: https://issues.apache.org/jira/browse/RATIS-78
> Project: Ratis
>  Issue Type: Bug
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-78.000.patch
>
>
> Currently the ratis code base cannot get compiled in Intellij because the 
> Forked Tomcat Native cannot get located.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (RATIS-78) Ratis does not compile in Intellij

2017-04-25 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/RATIS-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze resolved RATIS-78.
--
Resolution: Fixed

I have committed this.

> Ratis does not compile in Intellij
> --
>
> Key: RATIS-78
> URL: https://issues.apache.org/jira/browse/RATIS-78
> Project: Ratis
>  Issue Type: Bug
>Reporter: Jing Zhao
>Assignee: Jing Zhao
> Attachments: RATIS-78.000.patch
>
>
> Currently the ratis code base cannot get compiled in Intellij because the 
> Forked Tomcat Native cannot get located.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


  1   2   3   4   5   6   7   8   9   10   >