Are there any thoughts about having Bookkeeper sto...
# general
g
Are there any thoughts about having Bookkeeper store its data on local-path:
Copy code
bookkeeper:                                                                                                                                                                                                                                                 
    replicaCount: 4                                                                                                                                                                                                                                           
    podMonitor:   
      enabled: true
      interval: 10s
      scrapeTimeout: 10s
    volumes:
      # use a persistent volume or emptyDir
      persistence: true
      journal:
        name: journal
        size: 10Gi
        local_storage: true
        storageClassName: local-path
      ledgers:
        name: ledgers
        size: 50Gi
        local_storage: true
        storageClassName: local-path
Network storage is not available in our case, so is this configuration expected to work? Assume a node goes down for maintenance, and a bookkeeper pod is there. If the pod starts up on another node, it will get empty disk, and will then report a corrupted cookie as Zookeeper still has the old cookie data. Is this case supported by Pulsar, how could it be worked around? Is Pulsar making any assumptions in the helm chart that bookie storage would be a network storage that will survive?
👍 1
One possible workaround is to add an init container that would detect empty disk / journal and would delete the cookie in Zookeeper (somewhat mirroring the non-persistence case in the helm chart). If Pulsar does not support this case, at least it could be commented somewhere.
A reproduction: 1. bookie pod goes away (node cordoned, pod killed), new pod waits for the startup (it would choose the same node), but pvc is also removed, gets scheduled on another node (or the same node, but the disk got wiped) 2. when the new pod starts up on the new node, a corrupted cookie problem is reported by Bookkeeper