danhuawang opened a new issue, #8969:
URL: https://github.com/apache/gravitino/issues/8969
### Version
main branch
### Describe what's wrong
When I ran gcs test cases in test_gvfs_with_gcs.TestGvfsWithGCS or
test_gvfs_with_s3_credential.TestGvfsWithS3Credential, pop error:
java.lang.NullPointerException: projectId must not be null.
But I try to use the bucket and the service account json file to create
fileset on gravitino UI, it works. So the credential is right.
### Error message and/or stacktrace
```
ERROR: setUpClass (test_gvfs_with_gcs.TestGvfsWithGCS)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/tests/integration/test_gvfs_with_gcs.py",
line 74, in setUpClass
cls._init_test_entities()
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/tests/integration/test_gvfs_with_gcs.py",
line 136, in _init_test_entities
catalog.as_fileset_catalog().create_fileset(
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/gravitino/client/fileset_catalog.py",
line 166, in create_fileset
return self.create_multiple_location_fileset(
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/gravitino/client/fileset_catalog.py",
line 207, in create_multiple_location_fileset
resp = self.rest_client.post(
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/gravitino/utils/http_client.py",
line 227, in post
return self._request(
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/gravitino/utils/http_client.py",
line 205, in _request
error_handler.handle(resp)
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/gravitino/exceptions/handlers/fileset_error_handler.py",
line 46, in handle
super().handle(error_response)
File
"/home/runner/work/gravitino-enterprise/gravitino-enterprise/gravitino-oss/clients/client-python/gravitino/exceptions/handlers/rest_error_handler.py",
line 30, in handle
raise ERROR_CODE_MAPPING[code](error_message)
gravitino.exceptions.base.InternalError: Failed to operate object
[test_gvfs_fileset] operation [CREATE] under [test_gvfs_schema], reason
[projectId must not be null]
java.lang.NullPointerException: projectId must not be null
at
org.apache.gravitino.gcp.shaded.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:922)
at
com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl.create(GoogleCloudStorageImpl.java:479)
at
com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl.create(GoogleCloudStorageImpl.java:466)
at
com.google.cloud.hadoop.gcsio.GoogleCloudStorageFileSystem.mkdirs(GoogleCloudStorageFileSystem.java:555)
at
com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.mkdirs(GoogleHadoopFileSystemBase.java:1392)
at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:2388)
at
org.apache.gravitino.catalog.fileset.FilesetCatalogOperations.createMultipleLocationFileset(FilesetCatalogOperations.java:487)
at
org.apache.gravitino.catalog.fileset.SecureFilesetCatalogOperations.lambda$createMultipleLocationFileset$0(SecureFilesetCatalogOperations.java:136)
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
at java.base/javax.security.auth.Subject.doAs(Subject.java:439)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1878)
at
org.apache.gravitino.catalog.fileset.authentication.UserContext.doAs(UserContext.java:162)
at
org.apache.gravitino.catalog.fileset.SecureFilesetCatalogOperations.createMultipleLocationFileset(SecureFilesetCatalogOperations.java:132)
at
org.apache.gravitino.catalog.FilesetOperationDispatcher.lambda$createMultipleLocationFileset$11(FilesetOperationDispatcher.java:170)
at
org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.lambda$doWithFilesetOps$2(CatalogManager.java:171)
at
org.apache.gravitino.utils.IsolatedClassLoader.withClassLoader(IsolatedClassLoader.java:86)
at
org.apache.gravitino.catalog.CatalogManager$CatalogWrapper.doWithFilesetOps(CatalogManager.java:165)
at
org.apache.gravitino.catalog.FilesetOperationDispatcher.lambda$createMultipleLocationFileset$12(FilesetOperationDispatcher.java:168)
at
org.apache.gravitino.catalog.OperationDispatcher.doWithCatalog(OperationDispatcher.java:121)
at
org.apache.gravitino.catalog.FilesetOperationDispatcher.lambda$createMultipleLocationFileset$13(FilesetOperationDispatcher.java:165)
at
org.apache.gravitino.lock.TreeLockUtils.doWithTreeLock(TreeLockUtils.java:49)
at
org.apache.gravitino.catalog.FilesetOperationDispatcher.createMultipleLocationFileset(FilesetOperationDispatcher.java:159)
at
org.apache.gravitino.hook.FilesetHookDispatcher.createMultipleLocationFileset(FilesetHookDispatcher.java:83)
at
org.apache.gravitino.catalog.FilesetNormalizeDispatcher.createMultipleLocationFileset(FilesetNormalizeDispatcher.java:85)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:840)
```
### How to reproduce
https://github.com/danhuawang/gravitino-enterprise/actions/runs/18911491132/job/53983296584
### Additional context
_No response_
--
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]