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

Sergey Soldatov commented on RATIS-334:
---------------------------------------

[~rajeshbabu] I don't quite understand what LogService class is supposed to do. 
By the name, it should be some kind of service, but it's definitely not. It 
behaves like a client, but it has a factory. It has createLog method, but at 
the same time, it uses a single raft quorum ( so it handles a single Log). From 
my point of view, we don't need this class as well as the factory. All we need 
is to move raft client instance to LogStream. (fyi [~vrodionov])
as for the map of logs and pings - that information is persisted by Ratis 
itself. So during the restart, it would read the raft log from the beginning, 
replaying all transactions. I don't use the snapshots yet (haven't had a chance 
to understand how it works).  
some problems that I'm facing now:
1. retry logic in Ratis. If the request takes longer than 3 seconds (i.e. 
delete log - that would run 3 deleteGroup operations for all peers and it takes 
longer than 3 seconds) than ratis client would automatically resend the query. 
and it's not clear what to do in that case. Right now it tries to delete the 
group again, throwing exceptions. 
2. Ping logic should be improved with tracking timeouts, etc. 
3. Need to add messages as well as the logic for node replacement (i.e. in the 
quorum one of the followers went away). 
4. possible some rework in the messages should be done to unify the responses ( 
with exceptions handling). 

> Implement server membership for LogService Metadata Service
> -----------------------------------------------------------
>
>                 Key: RATIS-334
>                 URL: https://issues.apache.org/jira/browse/RATIS-334
>             Project: Ratis
>          Issue Type: Sub-task
>            Reporter: Josh Elser
>            Assignee: Sergey Soldatov
>            Priority: Major
>         Attachments: RATIS-334-v1.patch, RATIS-334-v3.patch, 
> RATIS-334-wip.patch
>
>
> Half of the Metadata Service for managing LogStreams.
> RATIS-279 is handling the "DDL" operations, and Rajesh suggested that we spin 
> out management of the servers which are available to back these LogStreams in 
> a second task. This is it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to