- English (this)
- Chinese 简体中文
For better extendibility, BTCPool 2.3.0 changed the transfer and storage format of shares to ProtoBuf.
This is an update that is not compatible with previous deployments. Therefore, upgrading to this version requires additional work.
BTCPool 2.3.0 is not compatible with previous versions in three places:
- The new version of
sserverwill send ProtoBuf encoded shares to kafka. The old version ofshareloggerandstatshttpdcannot handle these shares and will ignore them. - Older versions of the sharelog binary file are not compatible with the new version. If you update the
shareloggerdirectly and do not clean up the written sharelog file, the file with old formatting will appened with new formatting. This will cause any `slparser (both the new and the old) to fail to read the file. - If you simply remove the old version of the sharelog file, the newly generated sharelog file will be incomplete. This is because kafka retains the consumption offset of
share_topic. You must change thekafka_group_idin yoursharelogger.cfgto reset the offset.
BTCPool 2.3.0 is compatible with old deployments in these places:
- Older versions of share messages in kafka can be processed normally by the new version of
statshttpdandsharelogger. - For place 1, you can mix the new and old versions of
sserverwithout causing problems. - There are no other incompatible changes in this version other than the format change of the message in
share_topicand the sharelog binary file.
- Run a new version of
statshttpdand write the same database as the old version. After determining that the new version is working properly, stop the old. - Run a new version of
sharelogger, taking care to set a completely differentkafka_group_idand a newdata_dir. It will rebuild the sharelog binary files from the first message inshare_topic. - After the new version of the today's sharelog file is created, run a new version of slparser to read these sharelogs.
- Confirm that the new version of
slparseris working properly, then stop the old. - Start deploying a new version of
sserveror upgrading the old version with the new.