psarna opened a new issue, #443: URL: https://github.com/apache/iceberg-go/issues/443
### Apache Iceberg version None ### Please describe the bug 🐞 When running the `TestMergeManifests` test with `-race` flag, a data report is created (attached to the end of the message). I only skimmed the code, but it looks like the culprit is concurrent fetching of manifest entries [here](https://github.com/apache/iceberg-go/blob/85f700808061fcea3655412245ef5d59f1784b69/table/scanner.go#L356). All concurrent requests write to the same structure [here](https://github.com/apache/iceberg-go/blob/85f700808061fcea3655412245ef5d59f1784b69/table/evaluators.go#L754-L756). I confirmed that setting the concurrency here to `1` makes all the tests pass the data race check. ``` $ go test -race -run TestTableWriting/TestMergeManifests ================== WARNING: DATA RACE Write at 0x00c000f7dc20 by goroutine 353: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:754 +0xb9 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Previous write at 0x00c000f7dc20 by goroutine 354: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:754 +0xb9 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Goroutine 353 (running) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 Goroutine 354 (finished) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 ================== ================== WARNING: DATA RACE Write at 0x00c000f7dc28 by goroutine 353: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:754 +0xf9 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Previous write at 0x00c000f7dc28 by goroutine 354: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:754 +0xf9 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Goroutine 353 (running) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 Goroutine 354 (finished) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 ================== ================== WARNING: DATA RACE Write at 0x00c000f7dc30 by goroutine 353: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:755 +0x164 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Previous write at 0x00c000f7dc30 by goroutine 354: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:755 +0x164 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Goroutine 353 (running) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 Goroutine 354 (finished) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 ================== ================== WARNING: DATA RACE Write at 0x00c000f7dc38 by goroutine 353: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:756 +0x1f0 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Previous write at 0x00c000f7dc38 by goroutine 354: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:756 +0x1f0 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Goroutine 353 (running) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 Goroutine 354 (finished) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 ================== ================== WARNING: DATA RACE Write at 0x00c000f7dc40 by goroutine 353: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:756 +0x232 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Previous write at 0x00c000f7dc40 by goroutine 354: github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval() /dev/repo/iceberg-go/table/evaluators.go:756 +0x232 github.com/apache/iceberg-go/table.(*inclusiveMetricsEval).Eval-fm() <autogenerated>:1 +0x47 github.com/apache/iceberg-go/table.openManifest() /dev/repo/iceberg-go/table/scanner.go:142 +0x1b2 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries.func1() /dev/repo/iceberg-go/table/scanner.go:358 +0xd0 golang.org/x/sync/errgroup.(*Group).add.func1() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:130 +0x141 Goroutine 353 (running) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 Goroutine 354 (finished) created at: golang.org/x/sync/errgroup.(*Group).add() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:98 +0xe4 golang.org/x/sync/errgroup.(*Group).Go() /dev/go/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:93 +0x791 github.com/apache/iceberg-go/table.(*Scan).collectManifestEntries() /dev/repo/iceberg-go/table/scanner.go:356 +0x531 github.com/apache/iceberg-go/table.(*Scan).PlanFiles() /dev/repo/iceberg-go/table/scanner.go:399 +0xb1 github.com/apache/iceberg-go/table.(*Scan).ToArrowRecords() /dev/repo/iceberg-go/table/scanner.go:441 +0x64 github.com/apache/iceberg-go/table.(*Scan).ToArrowTable() /dev/repo/iceberg-go/table/scanner.go:474 +0x8c github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1125 +0x21f0 github.com/apache/iceberg-go/table_test.arrowTableWithNull() /dev/repo/iceberg-go/table/table_test.go:974 +0x14b github.com/apache/iceberg-go/table_test.(*TableWritingTestSuite).TestMergeManifests() /dev/repo/iceberg-go/table/table_test.go:1067 +0x7d1 runtime.call16() /dev/go/pkg/mod/golang.org/[email protected]/src/runtime/asm_amd64.s:775 +0x42 reflect.Value.Call() /dev/go/pkg/mod/golang.org/[email protected]/src/reflect/value.go:368 +0xb5 github.com/stretchr/testify/suite.Run.func1() /dev/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x6ed testing.tRunner() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x225 testing.(*T).Run.gowrap1() /dev/go/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x44 ================== --- FAIL: TestTableWriting (0.64s) --- FAIL: TestTableWriting/TestMergeManifests (0.37s) testing.go:1490: race detected during execution of test FAIL exit status 1 FAIL github.com/apache/iceberg-go/table 0.948s ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
