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

Marton Elek updated HDDS-2974:
------------------------------
    Description: 
We have a specific Freon (=load generator) test to test one specific, working, 
Ratis pipeline (3 datanodes): DatanodeChunkGenerator

It sends Ozone GRPC requests to the datanode with WriteChunk requests.

But we have no easy way to test just *one* the *running* Ratis component.

In this Jira I propose to create two tests.

*FollowerAppendLogEntryGenerator*

If Datanode can be started without registration it contains an empty Ratis 
server instance.

Freon test can initialize a new group and request vote with behaving like a 
real LEADER. It can send real appendLogEntry requests (the Ratis HB messages) 
with GRPC

With this approach we can force the datanode to be a FOLLOWER and analyze and 
profile the behaviour.

*LeaderAppendLogEntryGenerator (Will be added in a next JIRA)*

This is the opposite side, we need fake followers to test one leader. It 
requires to patch Ratis to immediately return with a fake answer instead of 
sending it to the followers.

If this patch is in place, we can start the freon test, which can configure the 
group in the leader and send ratis client messages to the leader.

  was:
We have a specific Freon (=load generator) test to test one specific, working, 
Ratis pipeline (3 datanodes): DatanodeChunkGenerator

It sends Ozone GRPC requests to the datanode with WriteChunk requests.

But we have no easy way to test just *one* the *running* Ratis component.

In this Jira I propose to create two tests.

*FollowerAppendLogEntryGenerator*

If Datanode can be started without registration it contains an empty Ratis 
server instance.

Freon test can initialize a new group and request vote with behaving like a 
real LEADER. It can send real appendLogEntry requests (the Ratis HB messages) 
with GRPC

With this approach we can force the datanode to be a FOLLOWER and analyze and 
profile the behaviour.

*LeaderAppendLogEntryGenerator*

This is the opposite side, we need fake followers to test one leader. It 
requires to patch Ratis to immediately return with a fake answer instead of 
sending it to the followers.

If this patch is in place, we can start the freon test, which can configure the 
group in the leader and send ratis client messages to the leader.


> Create Freon tests to test isolated Ratis components
> ----------------------------------------------------
>
>                 Key: HDDS-2974
>                 URL: https://issues.apache.org/jira/browse/HDDS-2974
>             Project: Hadoop Distributed Data Store
>          Issue Type: Improvement
>            Reporter: Marton Elek
>            Priority: Major
>
> We have a specific Freon (=load generator) test to test one specific, 
> working, Ratis pipeline (3 datanodes): DatanodeChunkGenerator
> It sends Ozone GRPC requests to the datanode with WriteChunk requests.
> But we have no easy way to test just *one* the *running* Ratis component.
> In this Jira I propose to create two tests.
> *FollowerAppendLogEntryGenerator*
> If Datanode can be started without registration it contains an empty Ratis 
> server instance.
> Freon test can initialize a new group and request vote with behaving like a 
> real LEADER. It can send real appendLogEntry requests (the Ratis HB messages) 
> with GRPC
> With this approach we can force the datanode to be a FOLLOWER and analyze and 
> profile the behaviour.
> *LeaderAppendLogEntryGenerator (Will be added in a next JIRA)*
> This is the opposite side, we need fake followers to test one leader. It 
> requires to patch Ratis to immediately return with a fake answer instead of 
> sending it to the followers.
> If this patch is in place, we can start the freon test, which can configure 
> the group in the leader and send ratis client messages to the leader.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: ozone-issues-h...@hadoop.apache.org

Reply via email to