Live data from Hacker News

Postmortem: Outage due to Elasticsearch’s flexibility and our carelessness

lambda.grofers.com

1–10 of 29 posts

Re: Postmortem: Outage due to Elasticsearch’s flexibility and our carelessness

#5
It's not the first time I read about service (near) outages and post mortem that involve ElasticSearch. It's marketed as NoSQL solution, but some devs don't read the details in the documentation like "Elasticsearch is not schema-less".

Knowing Lucene and its index structure for years, I wouldn't advise to use a Lucene database as primary storage. Always keep the original data at least in a log-queue or in a separate database - so that you can rebuild the Lucene database.

Re: Postmortem: Outage due to Elasticsearch’s flexibility and our carelessness

#6
Really awesome to read such a nice writeup of an error. It got me tangentially thinking about why we do not read stuff like:

When the patient was brought in, he was barely breathing. Due to the spots on his face, we assumed it was X. Then we made an incision in his pelvis to fix Y. Suddenly, he died. Gosh, we really should have kept an eye on the meter in the corner!

I understand things like litigation, but it makes me wonder to what extent we are being limited in medical achievements. From my outsider point of view, it seems that post mortems (ha!) are not used as much in the medical field other than for insurance / legal reasons.

Re: Postmortem: Outage due to Elasticsearch’s flexibility and our carelessness

#7
This is something we encountered at Snowplow with our real-time loading of events into Elasticsearch [1]. It's not an issue for us because we schema all our events, but it was interesting to observe. Here's a summary in one slide:

http://www.slideshare.net/alexanderdean/snowplow-analytics-f...

[1] https://github.com/snowplow/snowplow/tree/master/4-storage/k...

Re: Postmortem: Outage due to Elasticsearch’s flexibility and our carelessness

#10
> The values for field price in products mapping and the values for field price in promotions mapping (in the same index) will essentially be added to the same list at Lucene Segment level. And it will not fail or throw an exception.

Probably a stupid question but why can't ElasticSearch translate both mappings into something like, "products_price", and "promotions_price" before adding to the 'list'?

Post reply on HN