@Test
  public void testConcurrentFileReads() throws Exception {
    // Create test file with known content
    File testFile = new File(tempDir, "concurrent-test.txt");
    String content = "test data for concurrent reads";
    FileOutputStream fos = new FileOutputStream(testFile);
    fos.write(content.getBytes());
    fos.close();

    // Setup concurrent read test
    int numThreads = 5;
    ExecutorService executor = Executors.newFixedThreadPool(numThreads);
    final CountDownLatch latch = new CountDownLatch(numThreads);
    List<Future<ByteBuffer>> futures = new ArrayList<>();

    // Submit concurrent read tasks
    for (int i = 0; i < numThreads; i++) {
        final int offset = i;
        futures.add(executor.submit(new Callable<ByteBuffer>() {
            @Override
            public ByteBuffer call() throws Exception {
                try {
                    StoreFileChunk result = fileStore.readStoreFileChunkFromDisk(testFile.getName(), offset, 2, false);
                    latch.countDown();
                    return result.toBuffer();
                } catch (Exception e) {
                    throw e;
                }
            }
        }));
    }

    // Wait for all reads to complete
    latch.await(5, TimeUnit.SECONDS);
    executor.shutdown();
    assertTrue("Executor should terminate", executor.awaitTermination(5, TimeUnit.SECONDS));

    // Verify results
    for (Future<ByteBuffer> future : futures) {
        ByteBuffer result = future.get();
        assertNotNull("Result should not be null", result);
        assertTrue("Buffer should have data", result.remaining() > 0);
    }
  }
Tests concurrent file read operations.
Verifies:
- Multiple threads can read simultaneously
- Each thread gets correct data
- System handles concurrent access efficiently

@throws Exception if concurrent operations fail
ambry-store/src/test/java/com/github/ambry/store/FileStoreTest.java