見出し画像

5月11日 排他/同時制御は意識する事

5月11日ですね。
昨日のニュースで川崎市の証明書が誤って発行された問題がありました。

https://www.itmedia.co.jp/news/articles/2305/10/news114.html

二箇所で同じ秒で入力すると、片方の情報が上書きされ、もうひと方にちがう方の証明書が出される。

処理自体は通ったので、排他処理のロックはかからなかったのでしょう。
ただし、後続処理に渡すユニークキーが時分秒で生成されていたことでエラーが起きていたような推測が成り立ちます。

これ、バグの出現例として決して他人事にしてはなりません。
私も昔、行内システムを作る際に複数人で同時にボタンを押すテストとかしていました。

が、今やクラウドが主流の世の中。排他制御に気をつかう案件の割合は減っています。特に弊社のようにkintoneを主に扱っていれば尚更。kintoneが大方の排他制御は行なってくれるので。

もちろんkintoneでも予約管理や在庫管理など、複数の処理からの制御を行う事案はあります。

昨年も数千人の方が2,3週間の間に登録する案件を手掛けましたが、その時も登録にはAPIにお任せし、リトライ処理を入れておけば事足りました。
在庫管理も時間差でバッチ処理を設け、予約管理もリトライ処理を適切に入れておけば大丈夫なことが多いです。

が、こういう処理は当然今後に手がけることがありえます。phpでもJavaScriptでも、リトライ処理の考慮も含めて全て実装できているか。端折ったりしていないか。

他山の石として学ぶようにしなければ。

今後、人工知能がコーディングを代替してくれるとしても、人工知能が果たしてどこまでのユースケースが考えられるか。それはまだわかりません。
きちんとした制御がされているかのチェックは我々が行わねば。

ありがとうございます。 弊社としても皆様のお役に立てるよう、今後も活動を行っていこうと思います。