You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "daniel-adam-tfs (via GitHub)" <gi...@apache.org> on 2025/04/03 12:41:21 UTC

[I] Data race in GetColumnPageReader [arrow-go]

daniel-adam-tfs opened a new issue, #342:
URL: https://github.com/apache/arrow-go/issues/342

   ### Describe the bug, including details regarding any error messages, version, and platform.
   
   Is the reading of columns by a single `rgReader` from multiple Go routines supported? 
   
   We're reading four columns from a single row group concurrently. It worked fine in v18.1, but with v18.2 (and this commit: https://github.com/apache/arrow-go/commit/6dc6926acfe6e70335511f2df67f57006f8bddec) there is now a data race on the assignment/read of `r.rgPageIndexReader`.
   
   Trace from the race detector:
   
   ```
   WARNING: DATA RACE
   
   Read at 0x00c000af6040 by goroutine 9596:
     github.com/apache/arrow-go/v18/parquet/file.(*RowGroupReader).GetColumnPageReader()
         /go/pkg/mod/github.com/apache/arrow-go/v18@v18.2.0/parquet/file/row_group_reader.go:131 +0x1c39
     github.com/apache/arrow-go/v18/parquet/file.(*RowGroupReader).Column()
         /go/pkg/mod/github.com/apache/arrow-go/v18@v18.2.0/parquet/file/row_group_reader.go:70 +0x296
     github.com/thermofisher/cmd/research/parqstore/internal/parquetutil.ReadParquetColumnIndexBatch[go.shape.[]int32,go.shape.int32]()
         /go/src/parqstore/internal/parquetutil/parquetutil.go:205 +0x73
     github.com/thermofisher/cmd/research/parqstore/internal/chromatogram.(*centroidReader).readSimpleCentroidRowGroup.func1()
         /go/src/parqstore/internal/chromatogram/centroidreader.go:251 +0x104
   
   
   Previous write at 0x00c000af6040 by goroutine 9597:
     github.com/apache/arrow-go/v18/parquet/file.(*RowGroupReader).GetColumnPageReader()
         /go/pkg/mod/github.com/apache/arrow-go/v18@v18.2.0/parquet/file/row_group_reader.go:94 +0x1a4
     github.com/apache/arrow-go/v18/parquet/file.(*RowGroupReader).Column()
         /go/pkg/mod/github.com/apache/arrow-go/v18@v18.2.0/parquet/file/row_group_reader.go:70 +0x296
     github.com/thermofisher/cmd/research/parqstore/internal/parquetutil.ReadParquetColumnIndexBatch[go.shape.[]float64,go.shape.float64]()
         /go/src/parqstore/internal/parquetutil/parquetutil.go:205 +0x73
     github.com/thermofisher/cmd/research/parqstore/internal/chromatogram.(*centroidReader).readSimpleCentroidRowGroup.func2()
         /go/src/parqstore/internal/chromatogram/centroidreader.go:263 +0x106
   ```
   
   ### Component(s)
   
   Parquet


-- 
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: issues-unsubscribe@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Data race in GetColumnPageReader [arrow-go]

Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade closed issue #342: Data race in GetColumnPageReader
URL: https://github.com/apache/arrow-go/issues/342


-- 
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: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Data race in GetColumnPageReader [arrow-go]

Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade commented on issue #342:
URL: https://github.com/apache/arrow-go/issues/342#issuecomment-2779292928

   Reading columns from a single row group reader should be safe to do from multiple goroutines (since we actually leverage that if you're using the record reader or the `pqarrow` package to read a table). So this is a good catch, and also pretty easy to fix. Thanks for catching it!


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Data race in GetColumnPageReader [arrow-go]

Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade closed issue #342: Data race in GetColumnPageReader
URL: https://github.com/apache/arrow-go/issues/342


-- 
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: issues-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org