Golden Gate for Distributed Applications and Analytics v23.6
OS: oracle linux 8
SDK Dependencies:
- onelake v12.20.0
- hadoop v3.4.0
- parquet v1.12.0
Issue
I’m trying to replicate a sample trail file from <OGG_HOME>/opt/AdapterExamples/trail
into a Mirrored Database in a Microsoft Fabrics workspace. When I start the replicat process, I encounter the following error:
Azure Identity => ERROR in getToken() call for scopes [https://storage.azure.com/.default]: java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException
I checked credentials using the azure-identity (1.10.0)
and azure-storage-file-datalake (12.8.0)
libraries in a Python script, and it was successful in listing files in a Fabrics Lakehouse.
I have provided the properties file and the full error from the Replicat Report file below:
Properties File for Replicat test1
Configuration to load GoldenGate trail operation records into a Mirrored Database in Microsoft Fabric:
gg.target=fabric_mirrored_database
#TODO: Edit the Fabric workspace name.
gg.eventhandler.onelake.workspace=fabric
#TODO: Edit the Fabric mirror name.
gg.eventhandler.onelake.mirror=testfabricdb
#TODO: Edit the tenant ID of the application.
gg.eventhandler.onelake.tenantId=<tenant id>
#TODO: Edit the client ID of the application.
gg.eventhandler.onelake.clientId=<client id>
#TODO: Edit the client secret for the authentication.
gg.eventhandler.onelake.clientSecret=<secret>
#TODO: Edit the classpath to include Hadoop, Parquet, and Azure DataLake SDK dependencies.
gg.classpath=/u01/app/oracle/product/ogg/opt/DependencyDownloader/dependencies/hadoop_3.4.0/:/u01/app/oracle/product/ogg/opt/DependencyDownloader/dependencies/parquet_1.12.3/:/u01/app/oracle/product/ogg/opt/DependencyDownloader/dependencies/onelake/*
#TODO: Edit the proxy configuration.
#jvm.bootoptions=-Dhttps.proxyHost=some-proxy-address.com -Dhttps.proxyPort=80 -Djava.net.useSystemProxies=true
Full Error message sourcing from Replicat Report file:
propertiesERROR 2024-12-25 11:24:48.000991 [ForkJoinPool.commonPool-worker-5] – {“az.sdk.message”:”Retry attempts have been exhausted.”,”exception”:”io.netty.channel.StacklessClosedChannelException”,”tryCount”:3}
=ERROR 2024-12-25 11:24:48.000991 [ForkJoinPool.commonPool-worker-5] – io.netty.channel.StacklessClosedChannelException
=ERROR 2024-12-25 11:24:48.000992 [ForkJoinPool.commonPool-worker-5] – Azure Identity => ERROR in getToken() call for scopes [https://storage.azure.com/.default]: java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException
=ERROR 2024-12-25 11:24:48.000992 [ForkJoinPool.commonPool-worker-5] – {“az.sdk.message”:”Failed to acquire a new access token.”,”exception”:”java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException”}
=ERROR 2024-12-25 11:24:48.000996 [TaskEngine_5(FileFinalizeTask)] – ONELAKE-00053 Error occurred while uploading a file to Microsoft Fabric OneLake. Inspect the replicat handler log file and the replicat report file for further troubleshooting. Contact Oracle support if you cannot resolve the error.
com.microsoft.aad.msal4j.MsalClientException: java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException
at com.microsoft.aad.msal4j.HttpHelper.executeHttpRequest(HttpHelper.java:56) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.executeRequest(AadInstanceDiscoveryProvider.java:299) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.sendInstanceDiscoveryRequest(AadInstanceDiscoveryProvider.java:249) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.doInstanceDiscoveryAndCache(AadInstanceDiscoveryProvider.java:360) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.getMetadataEntry(AadInstanceDiscoveryProvider.java:107) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AuthenticationResultSupplier.getAuthorityWithPrefNetworkHost(AuthenticationResultSupplier.java:39) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier.execute(AcquireTokenByAuthorizationGrantSupplier.java:59) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AcquireTokenByClientCredentialSupplier.acquireTokenByClientCredential(AcquireTokenByClientCredentialSupplier.java:86) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AcquireTokenByClientCredentialSupplier.execute(AcquireTokenByClientCredentialSupplier.java:49) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:69) ~[msal4j-1.16.1.jar:1.16.1]
at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:18) ~[msal4j-1.16.1.jar:1.16.1]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700) ~[?:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692) ~[?:?]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) ~[?:?]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) ~[?:?]
Suppressed: com.microsoft.aad.msal4j.MsalClientException: java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException
1