@@ -398,7 +398,14 @@ func startTiDBCluster(ctx context.Context, t *testing.T, version string) *TiDBTe
398398 }
399399
400400 // Start TiKV (storage layer) - connects to PD
401- // TiKV requires increased file descriptor limit (at least 82920)
401+ // TiKV requires increased file descriptor limit
402+ // v8.x versions require at least 123880, older versions require at least 82920
403+ tikvFdLimit := 200000 // Default for older versions
404+ if strings .HasPrefix (version , "8." ) {
405+ // TiDB v8.x requires higher file descriptor limit
406+ tikvFdLimit = 250000
407+ }
408+
402409 tikvContainer , err := testcontainers .GenericContainer (ctx , testcontainers.GenericContainerRequest {
403410 ContainerRequest : testcontainers.ContainerRequest {
404411 Image : fmt .Sprintf ("pingcap/tikv:v%s" , version ),
@@ -412,12 +419,12 @@ func startTiDBCluster(ctx context.Context, t *testing.T, version string) *TiDBTe
412419 "--pd=pd:2379" ,
413420 },
414421 HostConfigModifier : func (hostConfig * container.HostConfig ) {
415- // Set ulimit for file descriptors to 200000 (TiKV requires at least 123880)
422+ // Set ulimit for file descriptors (v8.x requires at least 123880)
416423 hostConfig .Ulimits = []* container.Ulimit {
417424 {
418425 Name : "nofile" ,
419- Soft : 200000 ,
420- Hard : 200000 ,
426+ Soft : tikvFdLimit ,
427+ Hard : tikvFdLimit ,
421428 },
422429 }
423430 },
@@ -517,7 +524,14 @@ func startSharedTiDBCluster(version string) (*TiDBTestCluster, error) {
517524 }
518525
519526 // Start TiKV (storage layer) - connects to PD
520- // TiKV requires increased file descriptor limit (at least 82920)
527+ // TiKV requires increased file descriptor limit
528+ // v8.x versions require at least 123880, older versions require at least 82920
529+ tikvFdLimit := 200000 // Default for older versions
530+ if strings .HasPrefix (version , "8." ) {
531+ // TiDB v8.x requires higher file descriptor limit
532+ tikvFdLimit = 250000
533+ }
534+
521535 tikvContainer , err := testcontainers .GenericContainer (ctx , testcontainers.GenericContainerRequest {
522536 ContainerRequest : testcontainers.ContainerRequest {
523537 Image : fmt .Sprintf ("pingcap/tikv:v%s" , version ),
@@ -531,12 +545,12 @@ func startSharedTiDBCluster(version string) (*TiDBTestCluster, error) {
531545 "--pd=pd:2379" ,
532546 },
533547 HostConfigModifier : func (hostConfig * container.HostConfig ) {
534- // Set ulimit for file descriptors to 200000 (TiKV requires at least 123880)
548+ // Set ulimit for file descriptors (v8.x requires at least 123880)
535549 hostConfig .Ulimits = []* container.Ulimit {
536550 {
537551 Name : "nofile" ,
538- Soft : 200000 ,
539- Hard : 200000 ,
552+ Soft : tikvFdLimit ,
553+ Hard : tikvFdLimit ,
540554 },
541555 }
542556 },
0 commit comments