дыбр

Sep. 1st, 2020 03:41 pm
kdanilov: Кирша Данилов (Default)
[personal profile] kdanilov
Ну, Шрирам тут, оказывается, сбежал с нашей конторы, свой стартап организовал. Ну и ладно. Неплохой человек, чисто по поведению, но в реале я б от него держался подальше; мы для него вроде скотинки.

Ладно. Сегодня куча митингов была, причем про тот, что начался в 9, я узнал в 10. Когда его объявили, хз, где-то рано утром.

Ну там жужжали, аплодировали, все нормально.

Потом был скрам-митинг. Короче, пока мы с Каролин обсуждали, наш смежник, архитектор Майк, решил все вопросы, как-то по-своему. Задвигает теперь уверенно про race condition (я, по-моему, задвинул классный термин для обозначения любых глюков в этом дырявом софте).

А штука-то в том, что сзади у нас Оракл. А Оракл же древний аппарат. Он не умеет ACID. Он бросает ошибку, если чо. Это не постгрес. В постгресе грамотные люди сидят, а в Оракле - важные раджи. Ну и вот; все логично. Кроме того, что ребята, не надо так, да? Не, серьезно, мы никак CAS не можем сделать? Тогда остается "пробовать еще раз".

Но т.к. Майк взялся все пофиксить, то ну и ладушки.

А теперь опять вопросы перформенса. Короче, мой кеш, идее которого уже два месяца, а коду полтора, теперь тоже проник в мозги масс; теперь моего коду не боятся, а хотят. И все время интересуются моим мнением. Довольно необычно; в предыдущих паре мест мое мнение стоило ровно ноль. Странно. Вот сейчас пойду восстановлю бранчь, зафигачу пулреквест, мне чо. В нашей конторе работать много не требуется.

Такое ощущение, что я программирую слишком быстро (на самом деле нет), и народ за мной не поспевает. А я тереблю.

Date: 2020-09-01 11:24 pm (UTC)
From: [personal profile] sassa_nf
> Не, серьезно, мы никак CAS не можем сделать? Тогда остается "пробовать еще раз".

didn't get this. CAS means one succeeds, others fail (and retry).

Date: 2020-09-02 06:23 am (UTC)
From: [personal profile] sassa_nf
No, I mean I could not make the head and the tail out of the description. It looked like you complained about retries, but CAS is about retries.

What's more, CAS loop is about computing which x you want to change, read its current value, compute the new value. There are two computations here that are not generic. If the DB doesn't know how to compute which x you want to modify or what the correct new value for the current value is, it can't do better than tell you to do it (you have the logic of the retry loop, the DB doesn't).
Edited Date: 2020-09-02 07:12 am (UTC)

Date: 2020-09-02 09:33 pm (UTC)
From: [personal profile] sassa_nf
The way I understand your complaint, you hope that the DB could have done CAS loop to ensure some contended operation succeeds rather than fail (and the scala code then retries).

Based on that understanding I was thinking that the contents of any CAS loop is really non-trivial and not generic, so the DB really can't be expected to do that.
dennisgorelik: 2020-06-13 in my home office (Default)
From: [personal profile] dennisgorelik
> Короче, мой кеш, идее которого уже два месяца, а коду полтора, теперь тоже проник в мозги масс;

Так это Кевин, вероятно, твою идею продвигает в массы.

С хорошим начальником работается гораздо лучше.
dennisgorelik: 2020-06-13 in my home office (Default)
From: [personal profile] dennisgorelik
А Каролин у вас за что отвечает?
dennisgorelik: 2020-06-13 in my home office (Default)
From: [personal profile] dennisgorelik
На какого рода вопросы отвечает Каролин? Технические вопросы про Apex?

Profile

kdanilov: Кирша Данилов (Default)
kdanilov

November 2022

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728 2930   

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 7th, 2025 03:35 pm
Powered by Dreamwidth Studios