This happens when I tried to run 0.10 topology on 2.x cluster. It's because in 0.10,
The worker_hooks field is commented out. When WorkerState. runWorkerStartHooks () calls get_worker_hooks(), it returns null.
worker_hooks is an optional field in StormTopology struct (storm.thrift). So when we call get_worker_hooks(), we need to check with is_set_worker_hooks().
BTW, this can be a common issue for all thrift structs. We should always check is_set_xxx before we call get_xxx if xxx is an optional field.