あーなるほど.rustのlibstdのパスが変わってるな.どこから変わったか調べるか

やっぱテスト時間かかりすぎるな……

今月やらなきゃいけない仕事はほぼ終わったので暇になった

goのtransport結構むずい

emacs-racerの環境が壊れてるな……あとで治そう

ようやく全貌が見えた.謎が全て解けた

あー15分の謎待ち時間の謎が解けた.こいつ自信のterminationGracePerodか

あーkubebuilderをインストールすると,そのときに一緒に入っているだけで,controller-runtimeを直接使うときは必要なのか

あれ,controller-runtimeのenvtestって別途バイナリのインストールが必要なやつだっけ……そうだったっけ

docker再起動したら直った.よくある

つまり副反応が出たら俺はまだまだ若いということだ.若いので出るに違いない

おかしい,docker pushができない

だいぶレビューが溜まっている

dialyzerの行数表示がおかしい……

elixirのwithが快感すぎてやべぇ

テストも書いてないしほげ.実装する時間がないでござる

テストが速すぎてsiderを追い抜く

あーログがぶっ壊れていてログがちゃんと出てない

ゾンビランドサガR最高じゃないか

レビューがたまりすぎている

あかん,ゾンビランドサガRが終わってしまう

あとはこれを複数k8sの上に乗せてクラスタ化できるかどうかだな……なんか普通に考えてかなり難しい気がするんだが.そもそもVPCが別れたら通信できないんじゃないかな…….やっぱGCPみたいにVPCがglobalでregionやsubnetがその下に入るほうがやりやすい気がするんだが……

これ,つないだらただのmysqlだな

もう少しvitessで遊ぶぞ

はーやることいっぱいあるなぁ

とりあえずクラスタはできたぞ

あーあれかな,access token経由のアクセスだとmfa認定されないので,stsあたりで弾かれてる予感がするな

なんかmfa関連のpolicyを付与するとASGでlaunch template指定のASGが作れなくなる.why

アタリだな.podにはちゃんとSIGTERM, SIGKILLの順序でシグナルを送る.node側のdrain-grace-periodはその待ち時間か

drainのときってSIGTERMは送られるのか

重いレビューだけが残った

vitessかなりでかいわ.これはローカルで動かしたらLoadAverageが100超えた

elixir書いてるとif文使いたくない

ああーあー!一つ原因が特定できた.ようやくひとつだよ

おかしい,上位のcontextがcancelされたのに下位のcontextが動き続けておる

あかん,エラーが実行するたびに変わる

お,ようやく再現したぞ

ぐあーnodeわかりにくい.やっぱりelixirと思想が違いすぎる

税務署から予定納税の通知が届いた.あー税金払いたくねー

controller-runtimeでは個別controllerのsync worker数って指定できないのか?

思ったより少ないな……各コントローラの起動オプションはこれで足りるんだろうか
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/

kube-controller-managerの起動オプションをすべて俯瞰してみたいのだが,どっかに良いドキュメントはないものか

Living Standard,つまり動いているものが正しいってやつ.仕様を誰も知らないプロダクトとかでよく見るやつ

この通り.タイトルちょっと煽りすぎよね

ぜーんぜんわからん,ほげ

あかんーまじでわからんわ

うーん,どうやっても手動実行だと成功してしまう.なぜなんだ

再現しないなー手動実行すると成功してしまう.なぜなんだ

なぜ手動実行すると再現しないのか

またテストが落ちてるよ

callbackはelixirでどう表現するか悩ましいな……

typescriptからelixirに書き換えるの,結構脳のスイッチング・コストがでかいな

Dialyzerの実行に時間がかかる

GitHubのRecent Activityがサイドバーに押し込められたの結構不便なんだが.All activityは俺のactivityが表示されないし,普通にRecent Activityをもっと広くしてほしいんだが.

案外簡単に行けそうな感じがしたので作戦が立てられた

あーいけるわ,全然いける.書き換え可能だ

おや,これ意外に簡単にいけるのでは?という気がしてきた

controller-managerへの登録とReconcileを走らせる部分を,誰に担当させるかが悩ましいな

controller-runtimeを使わずにcontroller managerを自作する

何もしてないけど壊れた,からの何もしてないけど直った

金曜日の忙しさ

やっぱりreminderがすべてのPRを通知してくれない

知らんうちにレビューが大量に溜まっている

なんかgithubのページが変わった

イケハヤが10億分の1になったと聞いて

cross regionでRDSのレイテンシを下げる方法ないかな…….AuroraのGlobal Databaseを使うとして,それでもやっぱりwriteはどこかのregionに置く必要が合って,そこまでの通信コストはそれなりにかかるんだよな…….これぞ光遅い問題.光もっと速くならないかな

rustupってdocker内で使うのはイマイチかなぁ

rustのインストールってこんなに時間かかったっけ

最近の新しいリポジトリを触ると,masterがmainになっていてブランチ移動するときに混乱する.masterないじゃん!!

union typeなarrayはあんまり生み出したくないな……これなんとかならんかなぁ……

自分たちで作ったサービスをある程度運用して苦労する経験というのは,かなり大事だということがわかった

作戦考えるに当たり,これは結構実装しないとわからんかもしれんな……

流石に1分では復旧しないか……

現役エンジニアの時点で不労じゃないやんけwww

ライブラリがみんなsemverに従ってアップデートしてくれれば特に困らないんだけど,平然とpatchで破壊的変更を入れてるくのもあるので,普通に困る

シェルスクリプトむずい

昨日まででがんばったので今日はレビューが少ない

うーん,再現しない.再現しないと解決のしようがない

issueのトリアージするだけで結構時間食うう

何者にもならずに生きていこうぜ

15分くらいで終わると思ったテストが30分経っても終わらない

既に詰んでいる将棋……つまりこういうことか
https://kyoko-np.net/2021061401.html

究極の初心者向け「2マス将棋」発売 愛好家考案

IP固定という呪縛から開放されたい(

よしよし,ようやく想定通りに動いたぞ

あーこれまじで設計変更が必要だよ,めんどくさいなー

サーバーの運用したくないからサーバーレスにしたいっていう動機は,サイズが小さい場合は理解できるんだけど,ある程度以上でかいサービスを運用するにあたってその動機はどうなの,と思う.結局サーバー管理とは別の部分で運用工数が発生することを,わかっていないのだろうか

エンジニアに必要なのはコミュニケーションスキルだ,みたいな言説,正直嫌いなんだけど,現に世の中にはissueとかPR上で,やたら攻撃的で全てに対して嫌味を言ってくる人というのが存在するというのを観測してしまった.これは無理だよ,まともに相手したら建設的な話に一切ならない.すごい.

いやーやばいなーこれはやばい

遊んでなんでレビューしなきゃ

あと,スケールすると言ってもlambdaのデフォルトの同時実行数はたかが100なんですよ.その程度なんですよ.上限緩和はできるけど,これは常時監視しないといけないわけで,全然autoscaleじゃない

「サーバの管理とか全然わからない,コンテナとか無理」という人がFaaSを使いたがるのはわかる.それはそれで良い.あと,「1日に数回しかリクエストこないのにサーバ維持するのは無駄」というのもわかる.それは確かに理がある.
だけど,常時リクエストが来ている通常のWebサービスで,組織的に運用していてSREがいるような状態で,サーバーレスにする意味はあるんだろうか.相当離散的に局所的なスパイクがない限り,通常のautoscaleで間に合うし,コストパフォーマンス的にもそちらが優れていると思うんだが

多いのかなぁ……そんなこと言ったら世の中ではEC2+RDSのRESTアプリのほうが圧倒的多数だと思うけど…….露出の問題なのかな

コストというか,金額自体はlambdaの課金に内包されている.そのためlambdaの料金はEC2よりかなり高い.内部的にはコンテナを起動しているので,リソースはAWS側が負担してくれている.

なぜだかよくわからないけど,lambdaが大好きな人が一定数いて,なんでもかんでもapigateway + lambdaのサーバーレス構成で作りたがる人がいるんだけど,あれはなんなのだろう.昔はそれでも,RDSのconnection poolが使えないというでかい理由でrejectできたんだけど,最近はRDS Proxyのせいでこれを理由にできなくなってしまった.

klog.Exitのハンドリングが難しすぎるやろwww

あ,これexitするときにログ出してるのか……だめじゃん

ふひひ,いけたぜ,これであとはdeferの問題だけやな

力技でpipeしてwriterコピーしてやるから覚悟しろよ

どう考えても無理なのでやはりラッパーを作るくらいしか思いつかなかったでござる

これ無理じゃん,klogのやつio.MultiWriter受け付けてくれないのかよ

klogはio.MultiWriterをSetOutputに渡してもstdoutにしか出力してくれない,なぜ

これはかなり設計を変えないと無理な感じがするわ.そもそもファイル書き込まれてないし

しかしこれを別関数に分けるの結構難しい,どうしてくれよう

ほげーまじでこれだわ,どうしてくれよう

あ,klog.Exitってos.Exit読んでるのか.os.Exitはdeferを待たない説

もしかしてあれですが,Exitさせるときってdefer発動しないなんてことないよな

deferでファイルアップロードは良くないかなぁ……よくないかなぁ……

ぐぬぬ,ログファイル結構難しい.deferでcloseしたあとに送るくらいしか方法が思いつかない.行儀が悪い.fluentdがほしいな

Goは割と採用しやすい方なんじゃないの?結構使ってる企業多い気がするけど

耳鳴りがする

http.DefaultTransportの扱い,めんどくさすぎるやろ.golangはいつまでこれをデフォルトにしておくつもりなのか

ついにWindowsがLinuxカーネルになって,Linuxの1ディストリビューションになることを期待したい / 他25件のコメント https://t.co/zlYantPpg0 “Microsoftは2025年までにWindows 10のサポートを終了する予定 - GIGAZINE” (64 users) https://t.co/55QQKHpABG

Microsoftは2025年までにWindows 10のサポートを終了する予定

レビューしきった気がする

ふひーというわけでテスト通るようになった

あーあたりだ.rustlerの更新で治る.まだ新しいバージョン出てないわな
https://github.com/rusterlium/rustler/pull/361

Add workaround for missing lib by evnu · Pull Request #361 · rusterlium/rustler

こいつはrustlerがやってくれてそうだな.となるとrustler側の問題な気がするぞい

nifのsoファイル指定はだれがやってんだろ

あー手元でも再現はできるわ.やはりテストが始まるタイミングでコンパイルが完了していないように見える

作ってるnifのモジュールがコンパイルされてないのか?なんでコンパイルされないんだ?

なぜか手元では通るテストがCIでは落ちる.何が違うねんwww

なんもしてないけど直った.本当になんもしてない

接続切れたときの挙動が怪しいの,VPNが原因な気がしてならない

klogをio.MultiWriterでファイルとstdoutに書き出してファイルを生成しようと思ったけど,fileってdeferでcloseされるんで,その前に使うのあんまりよくないかなぁ.というか欲しい情報得るためにはラッパーを作ったほうがいいのでは……

あれ?俺何もしてないけど勝手に治ってない?

久しぶりにetcdのローリングアップデート問題をやるか

ゾンビランドサガで宮野真守がアプリボワゼしとるwww

github issueのtemplateを更新するときに,そのtemplateを利用して起票されたopenなissueの一覧を得ることはできないだろうか.issueを作った後にtemplateを更新すると,既にあるissueを更新すべきかどうか判断する必要があるんだが,そもそもどのissueがこのtemplateで作られたかわからんので,それを判断することすらできない

あるある.でもスタートアップだと結構分析基盤とかにあいのりしがち……そして運用メンバーは分析基盤に直アクセスするspreadsheetを作っていたりするのだ……

githubのschedule reminderがすべての未レビューを通知してくれてない気がする.notificationから見ると見落としがいくつかある

レビューがいっぱい溜まっている

これぞ禁則事項

あーこれはロジックが難しい.作戦考えないと実装できん

あとノーコードのサービス自体の開発すげーめんどくさい気がしてならない

というわけでとりあえず保存するところまではできた

あーあたりだ.確かにtimelineのパラメータとしてはnotificationsしか受け取ってないわ.
https://git.pleroma.social/pleroma/pleroma/-/blob/v2.3.0/lib/pleroma/marker.ex#L17

lib/pleroma/marker.ex · v2.3.0 · Pleroma / pleroma · GitLab

pleromaってhomeのmarker保存されないのかな

一杯の概念よ

家の中が暑い

これはdbが重くなりすぎるな……

あー失敗したかも.これはデータ構造がよくない

こりゃーチョロくなかった.かなり面倒だな……

ECRからのimage pullにはprivate link使いたいなぁ

コードのレビューは,実は普段そんなに突っ込む気はなくて,スタイルとかあまり気にしない(というかそんなのlinterに任せるので俺が突っ込みたくない)んだけど,proposalとかになると無限に議論可能でレビューがいつになっても終わらない.方針とか設計になると,想定されるケースをいくらでも思い浮かべられるので,みんな自分が困りそうなところをどんどんコメントしてくる.

どーんときた

一ヶ月調べ続けて結局直すところは2行.そんなもんだよね

あーいけたぞ.ResponseHeaderTimeoutを入れた状態でForceAttemptHTTP2をfalseにすると,timeout awaiting response headerの後にidleConnがクリアされる.
さて,なんでhttp2だとクリアされないんだよ

ResponseHeaderTimeoutが一番怪しいと思ったんだけど,このときでもidleConnを開放してくれないのかね……

この告知動画が最高点にならないことを祈る…… / 他30件のコメント https://t.co/w7ptwYPrE8 “Netflixの実写版「カウボーイビバップ」今秋配信 音楽は菅野よう子 - ITmedia NEWS” (82 users) https://t.co/hs7vJdbfiF

Netflixの実写版「カウボーイビバップ」今秋配信 音楽は菅野よう子

今日のレビューは重い……

インターネットが壊れた

fastly使ってるとこが全滅した感

死んだのはfastlyか.CDNの死亡じゃないか

ほんとだよ,いつまでも仕事なんかしてんじゃないよというgithubからのメッセージ

githubが応答返さない

あーこのfinってLBが送ってくるやつじゃん.つまりLB側のタイムアウトなわけか

timeoutを指定しないと,結局だれかがfinを送るぞ?誰じゃ?これのタイムアウトさえ短くできればいいんだが

client側のtimeoutを指定しない場合どうなるんだろう,という観測

そもそもうちのLBが悪いのはわかったんだけど,それにしてもnet/http側もちょっと中途半端なのではないか……

本気を出せば初回接続時のエラーハンドリングでRequestCanceledを拾ってCloseIdleConnectionsすれば,transportが保持しているidleConnを吹き飛ばしてリトライ可能ではある.けど,ちょっと場当たり的すぎてあんまりやりたくないんだよなぁ.やるのであれば,そもそもclient-goがRESTClient生成するときに,正しくリトライできるclientを生成してほしい

memberが死んだときにresetを送ってくれるLBと送ってくれないLBがある.どういうことだよwww

ずっとupdateしてていつになっても終わらん……

珍しくproposalを書く

わろたwww

落としたインスタンスをLBがmemberから外してくれないし,維持したtcp connに対してもackを返し続けているのでkeepaliveし続けてしまう.せめてmemberから外してほしいし,なんならそのタイミングでresetを送ってほしい

idleConnが全然クリアされない.これほぼほぼLBのせいだと思うんだけど,どうしたもんか……

やはり自前でCloseIdleConnectionsを呼ぶと解決する.つまりnet/http側のエラーハンドリングに問題がある気がしてならない.でも標準ライブラリのデバッグはやったことないな……

おや,healthmonitorのhelath check間隔が長いな……

timeoutが発生したときに任意の処理を差し込む方法はないかな……

となるとこれリクエストをキャンセルしている,タイムアウトを発生させているのはどこなんだ

本来deadlineがきたらDeadlineExceededなerrorになるはずなのに,それが発生しないのも謎い.これ,この上にconnection poolを作ってるからなんだろうな.どちらかというとこれはidle timeoutに利用されている気がする

net.Connのdeadlineってconn自体のdeadlineなのか.ReadDeadlineとか説明と違うのでは?

jokerさんがCTO交代しとる……!お疲れさまでした / 他3件のコメント https://t.co/umZpLjaWnx “Reproの三代目CTOとして尾藤正人氏が参画 | Repro - カスタマーエンゲージメントプラットフォーム” (8 users) https://t.co/g1QGsnsQ8S

Reproの三代目CTOとして尾藤正人氏が参画|Repro株式会社(リプロ)

午前中にレビューが全部終わるの久しぶりだな

めっちゃ眠い

効率的にはleaveするときに叩くのがいいんだけど,そんなの上手く行く気がしないな……

markerのAPIどうやって叩くかなぁ……webhook受信で毎回叩くのは叩きすぎな気がするんだよな…….定期的にやる以外にいい方法が思いつかないわ

@Yuriq I can't promise it. Please write your proposal in an issue: https://github.com/h3poteto/whalebird-desktop
I'm developing while comparing the priority with other features. It is not on my priority, but I would absolutely review a PR if you create it.

GitHub - h3poteto/whalebird-desktop: An Electron based Mastodon, Pleroma, and Misskey client for Windows, Mac, and Linux

だめだーわからん,今日も無事討ち死に

ConnのSetReadDeadlineってどこまでのタイムアウトなんだろ.poolしているconnection自体の保持期間なのか?

これLBがack返してきちゃったらどうにもできなくないか?我々にできることはあるのか?

わかった,これDSRと相性悪いわ

これ自体はLBの実装の問題なのかもな……

@Yuriq Oh, sorry, I missed it. Certainly we can use Ctrl+Tab.

あ,これLBによって発生したりしなかったりするのではないだろうか

ginkgoで変数の遅延評価できないものだろうか

@Yuriq Most users are using Ctrl+Tab to switch windows, so Whalebird should not use this shortcut key.

@Yuriq I don't agree to adopt top menu is account menu. Some users are using Whalebird in narrow window, so the top menu is inconvenient for these users.

@Yuriq After authorize. Whalebird adds an account in the side menu after your press authorize button.

これもうgolangのnet/httpのバグなんじゃねーの

もはやgolang自身のnet/httpの実装を読んでいる

request timeoutしたときのidleConnが書き換わってない問題,一部だけ書き換わってるんだけど重要なホストのほうが書き換わってないわ.どうなってんねん

いや,タイムアウト時の使い回しはもしかしてapimachinery側でキャッシュしていることが原因か?

作成されたidleConnが,request timeoutしてもなお生き続けている理由はなんだ

これや,やはりhttp.DefaultTransportはtcpのコネクションをプールしている.問題はLBから切り離されたメンバとの間のtcpコネクションがいつまで経っても切れないのはなぜなのかということか
https://qiita.com/kitauji/items/b4e8a48c75bf01ccc9f0

Go言語: http.Client のコネクション管理 (HTTP/1.x) - Qiita

レビューだけで午前中が終わる

レビューサボりすぎててやばい

とりあえずテスト書こう

はてなブログに投稿しました
自分のためだけにcustom controllerを書く - PartyIX
https://t.co/JKk4soiEQp

自分のためだけにcustom controllerを書く

俺がカスタマイズしたklogマジで便利なのでいろんなところで使いたい

あー結構テスト落ちたな…….たかがパスの書き換えで結構影響範囲がでかい

あー!!読めた!DefaultTransportで定義されたtransportを使い回すことにより,idleConnが埋められて,それの限界がくるまでidleConnを使い回すのか.問題はtimeoutしたとき等にidleConnをクリアしてくれないと困るわけだが,それがどうも発動していない.これはどっち側の問題かなぁ

おおお,DefaultTransportの時点でなんか差し込まれとるぜwww

おや,おややおやおやおや.proxyの設定に差分があるぞ

DefaultTransportと同じ構造体を突っ込むと解決するのに,DefaultTransportのアドレスを突っ込むと正常に動かない気がするのだが,そんなバカな

うーん,これは何が間違っているのか.そもそもデフォルト値はこれでいいのか,自身がない

毎日ほげーって言いながら遊んでるだけで金もらってる

トラブルは解消したので俺はテストを直すぞ……

これで見つけた分は修正したぞ

あーこれ配置するほうが間違えてるのか.URLは合ってるわ

これでもまだIRSA動かないな