Seagate / halon

High availability solution
Apache License 2.0
1 stars 0 forks source link

mero-halon: fix resource leak at notification-handler #1502

Closed 1468ca0b-2a64-4fb4-8e52-ea5806644b4c closed 5 years ago

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 5 years ago

Created by: andriytk

Start/stop events for the services under halon process where never cleaned up along with the SMs which were created to handle them.

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 5 years ago

Created by: vvv

Sure. Thanks for explaining.

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 5 years ago

Created by: andriytk

This one is just a harmless small optimization to avoid excess switches to the finish phase. It works the same way as the change below. (FYI)

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 5 years ago

Created by: andriytk

Yes, the patch is buggy - eid is not set to local vars in the case when haSiblings is not empty (our case), so at the finish phase we can not find it.

Let me update the patch...

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 5 years ago

Created by: vvv

Cluster stop fails with this patch.

$ h0 start
[...]
$ h0 stop -u
Progress: 11.54% -> 42.31%
Process{0x7200000000000001:0x1b}: PSStopping -> PSOffline
Service{0x7300000000000001:0x1c}: SSStopping -> SSOffline
Service{0x7300000000000001:0x1d}: SSStopping -> SSOffline
Progress: 42.31% -> 53.85%
Cluster stop failed: StopProcessesOnNodeFailed (Node nid://192.168.195.133:9070:0) "halon:m0d service stop timed out"
$ echo $?
1