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

Keith Turner commented on ACCUMULO-444:
---------------------------------------

Posting the tablet server logs that show how this scenario played out.

Below are the logs for tablet server T2

{noformat}
04 04:46:32,613 [log.RemoteLogger] DEBUG: Got new write-ahead log: 
xxx.xxx.xxx.10:11224/3f729699-6a7b-4ed0-8e41-cd767056a62e
04 04:46:32,615 [log.RemoteLogger] DEBUG: Got new write-ahead log: 
xxx.xxx.xxx.11:11224/6042d841-0f4f-40a0-b480-1e7d51047982

04 04:50:59,873 [tabletserver.TabletServer] DEBUG: Loading extent: !0;~;!0<
04 04:50:59,877 [util.MetadataTable] INFO : Returning logs [!0;~; 
661acb95-8fb9-4ac7-8545-83032f05eb2b (257)] for extent !0;~;!0<
04 04:50:59,877 [tabletserver.Tablet] DEBUG: got [!0;~; 
661acb95-8fb9-4ac7-8545-83032f05eb2b (257)] for logs for !0;~;!0<
04 04:50:59,901 [tabletserver.Tablet] INFO : Starting Write-Ahead Log recovery 
for !0;~;!0<
04 04:50:59,901 [tabletserver.TabletServer] INFO : Looking for 
/accumulo/recovery/661acb95-8fb9-4ac7-8545-83032f05eb2b.recovered/finished
04 04:50:59,902 [log.SortedLogRecovery] INFO : Looking at mutations from 
/accumulo/recovery/661acb95-8fb9-4ac7-8545-83032f05eb2b.recovered for !0;~;!0<
04 04:50:59,914 [log.SortedLogRecovery] DEBUG: Found tid, seq 257 9
04 04:50:59,928 [log.SortedLogRecovery] INFO : Scanning for mutations starting 
at sequence number 10 for tid 257
04 04:51:00,047 [log.SortedLogRecovery] INFO : Recovery complete for 
/accumulo/recovery/661acb95-8fb9-4ac7-8545-83032f05eb2b.recovered
04 04:51:00,047 [tabletserver.Tablet] INFO : Write-Ahead Log recovery complete 
for !0;~;!0< (4721 mutations applied, 21111 entries created)
04 04:51:00,047 [tabletserver.Tablet] TABLET_HIST: !0;~;!0< opened 

04 04:51:00,066 [tabletserver.TabletServer] INFO : Adding 2 logs for extent 
!0;~;!0< as alias 353

04 05:01:25,326 [tabletserver.TabletServer] FATAL: Lost tablet server lock 
(reason = LOCK_DELETED), exiting.
04 05:08:48,307 [server.Accumulo] INFO : tserver starting
{noformat}

Below is the lost mutation that was written to walog 
3f729699-6a7b-4ed0-8e41-cd767056a62e on T2.

{noformat}
MUTATION 353 3
1 mutations:
  7kb;000054
      file:/t-000h69l/F000h8ae.rf [system]:2175897 [] 64826,16582
      srv:time [system]:2175897 [] M1330836309355
      last:335d51be2cb3cc6 [system]:2175897 [] xxx.xxx.xxx.11:9997
      log:xxx.xxx.xxx.10:11224/d1699ae9-04c7-4128-8b9d-a6355af0393a 
[system]:2175897 [] <deleted>
      log:xxx.xxx.xxx.13:11224/4b28c8e0-8729-4d52-a0a7-e080e03601a0 
[system]:2175897 [] <deleted>
      srv:flush [system]:2175897 [] 0
      srv:lock [system]:2175897 [] 
tservers/xxx.xxx.xxx.11:9997/zlock-0000000001$335d51be2cb3cc6
{noformat}

Below shows that the metadata table was loaded on tablet server T3, and even 
though it should recover more data is recovers the same amount as when it 
recovered on T2.  This shows that all data written while the tablet was hosted 
on T2 was lost.

{noformat}
04 05:01:49,458 [tabletserver.TabletServer] DEBUG: Loading extent: !0;~;!0<
04 05:01:49,460 [util.MetadataTable] INFO : Returning logs [!0;~; 
661acb95-8fb9-4ac7-8545-83032f05eb2b (257), !0;~; 
3f729699-6a7b-4ed0-8e41-cd767056a62e (353)] for extent !0;~;!0<
04 05:01:49,461 [tabletserver.Tablet] DEBUG: got [!0;~; 
661acb95-8fb9-4ac7-8545-83032f05eb2b (257), !0;~; 
3f729699-6a7b-4ed0-8e41-cd767056a62e (353)] for logs for !0;~;!0<
04 05:01:49,474 [tabletserver.Tablet] INFO : Starting Write-Ahead Log recovery 
for !0;~;!0<
04 05:01:49,489 [log.SortedLogRecovery] DEBUG: Found tid, seq 257 9
04 05:01:49,495 [log.SortedLogRecovery] INFO : Looking at mutations from 
/accumulo/recovery/3f729699-6a7b-4ed0-8e41-cd767056a62e.recovered for !0;~;!0<
04 05:01:49,500 [log.SortedLogRecovery] DEBUG: Found tid, seq 353 3
04 05:01:49,510 [log.SortedLogRecovery] INFO : Scanning for mutations starting 
at sequence number 10 for tid 257
04 05:01:49,624 [log.SortedLogRecovery] INFO : Recovery complete for 
/accumulo/recovery/661acb95-8fb9-4ac7-8545-83032f05eb2b.recovered
04 05:01:49,629 [log.SortedLogRecovery] INFO : Scanning for mutations starting 
at sequence number 10 for tid 353
04 05:01:49,674 [log.SortedLogRecovery] INFO : Recovery complete for 
/accumulo/recovery/3f729699-6a7b-4ed0-8e41-cd767056a62e.recovered
04 05:01:49,674 [tabletserver.Tablet] INFO : Write-Ahead Log recovery complete 
for !0;~;!0< (4721 mutations applied, 21111 entries created)
04 05:01:49,674 [tabletserver.Tablet] TABLET_HIST: !0;~;!0< opened 
{noformat}
                
> Data loss possible when tablet killed immediately after recovery
> ----------------------------------------------------------------
>
>                 Key: ACCUMULO-444
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-444
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>    Affects Versions: 1.3.5
>         Environment: Running random walk, continuous ingest, and agitator on 
> 10 node cluster.
>            Reporter: Keith Turner
>            Assignee: Keith Turner
>            Priority: Blocker
>              Labels: 14_qa_bug
>             Fix For: 1.4.0, 1.3.6
>
>
> Came in after a weekend of running test to find the Shard random walk test 
> had lost data in its index table.  After debugging I found the following 
> sequence of events occurred.
>  * Mutation X was written to shard index on Tablet T1
>  * X was minor compacted to file F1
>  * Tablet server serving T1 was killed
>  * When T1 came up on another tablet server, it did not know about F1
> The above sequence of events indicate that the !METADATA table lost data.  So 
> I started looking into that, and found the following sequence of events.
>  * Tablet server T1 serving METADATA tablet MT was killed
>  * MT comes up on another tablet server T2
>  * Mutation Y is written to MT about file F1 for tablet T1
>  * Tablet server T2 is killed.
>  * MT comes up in tablet server T3
>  * The mutations for MT from T1 are recovered, but not from T2.. therefore Y 
> is lost
> There is code that supposed to handle this situation, but its not working... 
> I think this issue exist in 1.3
> Data loss is not certain in this situation.  In the scenario above, when MT 
> is loaded on T2 a minor compaction is started.  If the server is killed 
> before this minor compaction completes then data loss will likely occur.
>   

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to