NihalJain commented on PR #15876:
URL: https://github.com/apache/pinot/pull/15876#issuecomment-2902290104
Built Pinot locally and tested the patch by running the failing scenario as
follows:
1. Create `dataDir` and `segmentDir` directories with incorrect permissions
```
mkdir -p data
mkdir -p data/index
mkdir -p data/segmentTar
chmod 700 data
chmod 400 data/index
chmod 400 data/segmentTar
```
2. Start `server` with incorrect permission for `dataDir` and `segmentDir`
```
bin/pinot-admin.sh StartServer -dataDir data/index -segmentDir
data/segmentTar -zkAddress localhost:2191
```
3. We get error as expected now for `dataDir`:
```
2025/05/23 00:25:36.619 ERROR [StartServiceManagerCommand] [Start a Pinot
[SERVER]] Failed to start a Pinot [SERVER] at 1.624 since launch
java.lang.IllegalStateException: Cannot write to the instance data
directory: data/index
at
org.apache.pinot.server.starter.helix.HelixInstanceDataManager.initInstanceDataDir(HelixInstanceDataManager.java:189)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.server.starter.helix.HelixInstanceDataManager.init(HelixInstanceDataManager.java:132)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.server.starter.ServerInstance.<init>(ServerInstance.java:109)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.server.starter.helix.BaseServerStarter.start(BaseServerStarter.java:682)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.service.PinotServiceManager.startServer(PinotServiceManager.java:167)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.service.PinotServiceManager.startRole(PinotServiceManager.java:97)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.admin.command.StartServiceManagerCommand$1.lambda$run$0(StartServiceManagerCommand.java:267)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.admin.command.StartServiceManagerCommand.startPinotService(StartServiceManagerCommand.java:293)
[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.admin.command.StartServiceManagerCommand$1.run(StartServiceManagerCommand.java:267)
[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
```
4. Now fix `dataDir` permission and restart `server`
```
chmod 700 data/index
bin/pinot-admin.sh StartServer -dataDir data/index -segmentDir
data/segmentTar -zkAddress localhost:2191
```
5. We still get error for `segmentDir` as expected
```
2025/05/23 00:26:27.734 ERROR [StartServiceManagerCommand] [Start a Pinot
[SERVER]] Failed to start a Pinot [SERVER] at 1.408 since launch
java.lang.IllegalStateException: Cannot write to the instance segment tar
directory: data/segmentTar
at
org.apache.pinot.server.starter.helix.HelixInstanceDataManager.initInstanceSegmentTarDir(HelixInstanceDataManager.java:199)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.server.starter.helix.HelixInstanceDataManager.init(HelixInstanceDataManager.java:135)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.server.starter.ServerInstance.<init>(ServerInstance.java:109)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.server.starter.helix.BaseServerStarter.start(BaseServerStarter.java:682)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.service.PinotServiceManager.startServer(PinotServiceManager.java:167)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.service.PinotServiceManager.startRole(PinotServiceManager.java:97)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.admin.command.StartServiceManagerCommand$1.lambda$run$0(StartServiceManagerCommand.java:267)
~[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.admin.command.StartServiceManagerCommand.startPinotService(StartServiceManagerCommand.java:293)
[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
at
org.apache.pinot.tools.admin.command.StartServiceManagerCommand$1.run(StartServiceManagerCommand.java:267)
[pinot-all-1.4.0-SNAPSHOT-jar-with-dependencies.jar:1.4.0-SNAPSHOT-5ede5782d132c1b3dbe1ca81e94a69614e49af6e]
```
6. Next, fix `segmentDir` permission and restart `server`
```
chmod 700 data/segmentTar
bin/pinot-admin.sh StartServer -dataDir data/index -segmentDir
data/segmentTar -zkAddress localhost:2191
```
7. `Server` starts smoothly!
CC: @xiangfu0
--
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]