You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/06/16 17:47:00 UTC

[jira] [Work logged] (HDFS-16591) StateStoreZooKeeper fails to initialize

     [ https://issues.apache.org/jira/browse/HDFS-16591?focusedWorklogId=782128&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-782128 ]

ASF GitHub Bot logged work on HDFS-16591:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 16/Jun/22 17:46
            Start Date: 16/Jun/22 17:46
    Worklog Time Spent: 10m 
      Work Description: hchaverri opened a new pull request, #4447:
URL: https://github.com/apache/hadoop/pull/4447

   …enabled
   
   <!--
     Thanks for sending a pull request!
       1. If this is your first time, please read our contributor guidelines: https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute
       2. Make sure your PR title starts with JIRA issue id, e.g., 'HADOOP-17799. Your PR title ...'.
   -->
   
   ### Description of PR
   Setting up the JaasConfiguration when creating a new ZKCuratorManager, to allow ZK connections via SASL.
   Also removing duplicated classes of JaasConfiguration.
   
   ### How was this patch tested?
   Ran the following unit tests:
   TestJaasConfiguration
   TestZKCuratorManager
   TestZKSignerSecretProvider
   TestZKDelegationTokenSecretManager
   TestMicroZookeeperService
   
   Created a TestDelegationTokenSecretManager to replace the default ZKDelegationTokenSecretManagerImpl and deployed to an RBF router. Without these changes, the router initialization will fail with the error described on HDFS-16591. Initialization succeeds with this patch.
   
   ### For code changes:
   
   - [ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
   - [ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
   - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, `NOTICE-binary` files?
   
   




Issue Time Tracking
-------------------

            Worklog Id:     (was: 782128)
    Remaining Estimate: 0h
            Time Spent: 10m

> StateStoreZooKeeper fails to initialize
> ---------------------------------------
>
>                 Key: HDFS-16591
>                 URL: https://issues.apache.org/jira/browse/HDFS-16591
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: rbf
>            Reporter: Hector Sandoval Chaverri
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> MembershipStore and MountTableStore are failing to initialize, logging the following errors on the Router logs:
> {noformat}
> 2022-05-23 16:43:01,156 ERROR org.apache.hadoop.hdfs.server.federation.router.RouterHeartbeatService: Cannot get version for class org.apache.hadoop.hdfs.server.federation.store.MembershipStore
> org.apache.hadoop.hdfs.server.federation.store.StateStoreUnavailableException: Cached State Store not initialized, MembershipState records not valid
> 	at org.apache.hadoop.hdfs.server.federation.store.CachedRecordStore.checkCacheAvailable(CachedRecordStore.java:106)
> 	at org.apache.hadoop.hdfs.server.federation.store.CachedRecordStore.getCachedRecords(CachedRecordStore.java:227)
> 	at org.apache.hadoop.hdfs.server.federation.router.RouterHeartbeatService.getStateStoreVersion(RouterHeartbeatService.java:131)
> 	at org.apache.hadoop.hdfs.server.federation.router.RouterHeartbeatService.updateStateStore(RouterHeartbeatService.java:92)
> 	at org.apache.hadoop.hdfs.server.federation.router.RouterHeartbeatService.periodicInvoke(RouterHeartbeatService.java:159)
> 	at org.apache.hadoop.hdfs.server.federation.router.PeriodicService$1.run(PeriodicService.java:178)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748){noformat}
> After investigating, we noticed that ZKDelegationTokenSecretManager normally initializes properties for ZooKeeper clients to connect using SASL/Kerberos. If ZKDelegationTokenSecretManager is replaced with a new SecretManager, the SASL properties don't get configured and any StateStores that connect to ZooKeeper fail with the above error. 
>  A potential way to fix this is by setting the JaasConfiguration (currently done in ZKDelegationTokenSecretManager) as part of the StateStoreZooKeeperImpl initialization method.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org