Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It seems that Consul does not have the ability to use the newer hashmap implementation of freelist that Alibaba implemented for etcd. I cannot find any reference to setting this option in Consul's configuration.

Unfortunate, given it has been around for a while.

https://www.alibabacloud.com/blog/594750



I think they just made the switch to the fork that does contain the freelist improvement in https://github.com/hashicorp/consul/pull/11720

Took a major incident to swallow your pride? (consul, powered by go.etcd.io/bbolt)


Is this option enabled by default? I don't this it is and I don't think they actually set it manually anywhere.

EDIT: I think we're talking about two different options. I meant the ability to leave sync turned on but change the data structure.


This is the PR for the freelist improvement from that alibaba article: https://github.com/etcd-io/bbolt/pull/141

Just to be clear, we are talking about this item from the post-mortem right?

> We are working closely with HashiCorp to deploy a new version of Consul that replaces BoltDB with a successor called bbolt that does not have the same issue with unbounded freelist growth.

EDIT: I see what you mean. The freelist improvement has to be enabled by setting the `FreelistType` config to "hashmap" (default is "array"). Indeed it doesn't look like consul has done that...


I think we're still talking about different things, but that is a good move on their part regardless. :)

I mean the optional called `FreelistType` has a new option called `FreelistMapType` and the default is `FreelistArrayType`. There is no option in Consul from what I can tell to configure that option. They did have to upgrade from the old boltdb code to the etcd boltdb code to do this though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: