[SERVER-17222] WT is doing busy wait while being in recovery Created: 08/Feb/15  Updated: 17/Mar/15  Resolved: 11/Feb/15

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: 3.0.0-rc8
Fix Version/s: 3.0.0-rc9, 3.1.0

Type: Bug Priority: Major - P3
Reporter: Eitan Klein Assignee: Susan LoVerso
Resolution: Done Votes: 0
Labels: 28qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File rs3.txt     Text File rs3a.txt    
Issue Links:
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Completed:
Steps To Reproduce:

2 replica set WT enabled
MongoD run w/ the command line below

start %MongoD%\mongod --replSet EitanRs3 --port 5001 --dbpath F:\data\db1 --wiredTigerCacheSizeGB 1 --storageEngine wiredTiger --logpath d:\data\rs3a.txt

%MongoD%\mongod --replSet EitanRs3 --port 5002 --dbpath d:\data\db1 --wiredTigerCacheSizeGB 1 --storageEngine wiredTiger --logpath d:\data\rs3.txt

insert only workload on windows

Participants:

 Description   

When replica member get into recovering mode, WT is doing busy wait for checking the conditions below every 10 msec and every 1000 msec

__log_close_server

/* Wait until the next event. */
WT_ERR(__wt_cond_wait(session,
conn->log_close_cond, 10000));

static void *
__evict_server(void *arg)
{

/* Don't rely on signals: check periodically. */
WT_ERR(__wt_cond_wait(session, cache->evict_cond, 100000));

2015-02-07T02:41:24.780-0800 W REPL [rsBackgroundSync] we are too stale to use eitan5:5002 as a sync source

This is a regression from previous cycles (first time I hit this issue on RC8). And it’s reproducible after ~7 hours

EitanRs3:PRIMARY> rs.status()
{
        "set" : "EitanRs3",
        "date" : ISODate("2015-02-07T22:37:05.762Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "eitan5:5002",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 70819,
                        "optime" : Timestamp(1423329892, 681),
                        "optimeDate" : ISODate("2015-02-07T17:24:52Z"),
                        "electionTime" : Timestamp(1423277828, 2),
                        "electionDate" : ISODate("2015-02-07T02:57:08Z"),
                        "configVersion" : 2,
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "eitan5:5001",
                        "health" : 1,
                        "state" : 3,
                        "stateStr" : "RECOVERING",
                        "uptime" : 70786,
                        "optime" : Timestamp(1423304149, 756),
                        "optimeDate" : ISODate("2015-02-07T10:15:49Z"),
                        "lastHeartbeat" : ISODate("2015-02-07T22:37:04.951Z"),
                        "lastHeartbeatRecv" : ISODate("2015-02-07T22:37:04.951Z"
),
                        "pingMs" : 0,
                        "configVersion" : 2
                }
        ],
        "ok" : 1
}


Generated at Thu Feb 08 03:43:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.