[SERVER-4440] replica never goes back to secondary state after rollback because of error "15929 client access to index backing namespace prohibited" Created: 06/Dec/11  Updated: 11/Jul/16  Resolved: 06/Dec/11

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: 2.1.0
Fix Version/s: 2.1.0

Type: Bug Priority: Major - P3
Reporter: Tony Hannan Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

db version v2.1.0-pre-, pdfile version 4.5
git version: a80c2d10d001e589cc293d76ecb464286d3064cb


Issue Links:
Related
is related to SERVER-4276 prevent user access to index namespaces Closed
Operating System: ALL
Participants:

 Description   

In jstests/replsets/rollback2.js, after statement B.runCommand(

{ replSetTest: 1, blind: false }

), replica B (member _id 1) never recovers back to secondary state (stuck in Recovering state) because of error below (see members.1.errmsg)

> A.runCommand({replSetGetStatus:1})
{
	"set" : "unicomplex",
	"date" : ISODate("2011-12-06T14:53:54Z"),
	"myState" : 1,
	"members" : [
		{
			"_id" : 0,
			"name" : "Tonys-MacBook-Air.local:31000",
			"health" : 1,
			"state" : 1,
			"stateStr" : "PRIMARY",
			"uptime" : 4355,
			"optime" : Timestamp(1323182892000, 3),
			"optimeDate" : ISODate("2011-12-06T14:48:12Z"),
			"self" : true
		},
		{
			"_id" : 1,
			"name" : "Tonys-MacBook-Air.local:31001",
			"health" : 1,
			"state" : 3,
			"stateStr" : "RECOVERING",
			"uptime" : 322,
			"optime" : Timestamp(1323179114000, 7),
			"optimeDate" : ISODate("2011-12-06T13:45:14Z"),
			"lastHeartbeat" : ISODate("2011-12-06T14:53:52Z"),
			"pingMs" : 0,
			"errmsg" : "syncTail: 15929 client access to index backing namespace prohibited, syncing: { ts: Timestamp 1323179114000|8, h: -6963406903435877324, op: \"c\", ns: \"foo.$cmd\", o: { create: \"kap\", capped: true, size: 5000.0, max: undefined } }"
		},
		{
			"_id" : 2,
			"name" : "Tonys-MacBook-Air.local:31002",
			"health" : 1,
			"state" : 7,
			"stateStr" : "ARBITER",
			"uptime" : 390,
			"lastHeartbeat" : ISODate("2011-12-06T14:53:52Z"),
			"pingMs" : 0
		}
	],
	"ok" : 1
}



 Comments   
Comment by Tony Hannan [ 06/Dec/11 ]

Same error hit in jstests/repl/basic1.js, after map_reduce

 
> var res = am.mr.mapReduce( m , r , { out : "xyz" } );
 m31000| Tue Dec  6 13:50:53 [conn1] CMD: drop foo.tmp.mr.mr_0_inc
 m31000| Tue Dec  6 13:50:53 [conn1] build index foo.tmp.mr.mr_0_inc { 0: 1 }
 m31000| Tue Dec  6 13:50:53 [conn1] build index done 0 records 0 secs
 m31000| Tue Dec  6 13:50:53 [conn1] CMD: drop foo.tmp.mr.mr_0
 m31000| Tue Dec  6 13:50:53 [conn1] build index foo.tmp.mr.mr_0 { _id: 1 }
 m31000| Tue Dec  6 13:50:53 [conn1] build index done 0 records 0 secs
 m31000| 	 0
 m31000| 	 0
 m31000| 	 1
 m31000| Tue Dec  6 13:50:53 [conn1] CMD: drop foo.xyz
 m31000| Tue Dec  6 13:50:53 [conn1] CMD: drop foo.tmp.mr.mr_0
 m31000| Tue Dec  6 13:50:53 [conn1] CMD: drop foo.tmp.mr.mr_0
 m31000| Tue Dec  6 13:50:53 [conn1] CMD: drop foo.tmp.mr.mr_0_inc
> block();
 m31001| Tue Dec  6 13:50:53 [replslave] build index foo.tmp.mr.mr_0_inc { _id: 1 }
 m31001| Tue Dec  6 13:50:53 [replslave] build index done 0 records 0 secs
 m31001| Tue Dec  6 13:50:53 [replslave] info: creating collection foo.tmp.mr.mr_0_inc on add index
 m31001| Tue Dec  6 13:50:53 [replslave] build index foo.tmp.mr.mr_0_inc { 0: 1 }
 m31001| Tue Dec  6 13:50:53 [replslave] build index done 0 records 0 secs
 m31001| Tue Dec  6 13:50:53 [replslave] repl: AssertionException client access to index backing namespace prohibited
 m31001| repl: sleep 2 sec before next pass
 m31000| Tue Dec  6 13:50:53 [conn2] end connection 127.0.0.1:56063 (1 connection now open)
 m31001| Tue Dec  6 13:50:55 [replslave] repl: syncing from host:127.0.0.1:31000
 m31000| Tue Dec  6 13:50:55 [initandlisten] connection accepted from 127.0.0.1:56068 #4 (2 connections now open)
 m31001| Tue Dec  6 13:50:55 [replslave] repl: AssertionException client access to index backing namespace prohibited
 m31001| repl: sleep 2 sec before next pass
 m31000| Tue Dec  6 13:50:55 [conn4] end connection 127.0.0.1:56068 (1 connection now open)
 m31000| Tue Dec  6 13:50:56 [conn1] command foo.$cmd command: { getlasterror: 1.0, w: 2.0, wtimeout: 3000.0 } cursorid:-1 ntoreturn:1 ntoskip:-1 nscanned:-1 nreturned:-1 reslen:118 3000ms
>  m31001| Tue Dec  6 13:50:57 [replslave] repl: syncing from host:127.0.0.1:31000
 m31000| Tue Dec  6 13:50:57 [initandlisten] connection accepted from 127.0.0.1:56069 #5 (2 connections now open)
 m31001| Tue Dec  6 13:50:57 [replslave] repl: AssertionException client access to index backing namespace prohibited

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