テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

s4cmdの紹介

@voluntasさんに, s4cmdの存在を教えてもらった. 経緯としては, s3cmdが糞だからスクラッチでまともなものを作り直したというものらしい. Pythonで書かれているのがなんとも糞だが, botoというPythonライブラリがまぁまぁ良いという理由もありそうなのでしょうがない.

https://github.com/bloomreach/s4cmd

http://bloomreach.com/

Bloomreachというのは会社名らしい. Kazuyuki Taninumaという日本人がTech Leadをしている. (KazuyukiのことをLinkedinで調べてみよう) (ところで, Tech Leadという言葉自体から醸しだされるドヤ感に最近笑いを隠し切れない)

s4cmdは, READMEを読むと, s3cmdの問題がまぁまぁ改善されていることが分かる.

  • Automatic retry: Failure tasks will be executed again after a delay. => これは正しいこと?失敗する運命だったタスクはどうなるの?実行する前に成功するか失敗するかどうやって知るの?ハードウェアの障害は?参考: LKML: Eiichi Tsukata: [PATCH v3] scsi: Add timeout to avoid infinite command retry
  • Multi-threaded/multi-connection implementation for enhanced performance on all commands. As with many network-intensive applications (like web browsers), accessing S3 in a single-threaded way is often significantly less efficient than having multiple connections actively transferring data at once. In general, we get a 2X boost to upload/download speeds from this. => 異常に嘘くさい. そう簡単だろうか.
  • Handling of MD5s properly with respect to multi-part uploads (for the sordid details of this, see below). => multipartの時もmd5を正しく計算すると言っている. 試してやろうと思う. コードを読んでもよくわからない...
  • Partial file creation: Avoid creating empty target files if source does not exist. Avoid creating partial output files when commands are interrupted. => Getに失敗した時にdestファイルは残しておかない. これはs3cmdでバグってる.
  • Ensure exit code is nonzero on all failure scenarios (a very important feature in scripts). => ensure? どうやって.

他人のソフトウェアが信用出来ない. 特に, スクリプト言語で書かれたソフトウェアは信用出来ない.

広告を非表示にする