とらぶるしゅーてぃんぐ
11月より発生していたhetemlの不具合。
不具合の内容は・・・
・正常にFTP通信でファイル転送が出来ない
・FTP転送が正常に終了しても、しばらく経つとファイルが消える
この2つの症状に対していい加減ブチ切れそうになってきた・・・。
もう我慢できなくなり問い合わせをした。
原因はどうやらFTP通信の際に、セッションが2重に張られてしまうことによるものだった。
イメージとしてはこんな感じ。
1.FTPツールでサーバにアクセス
その際にセッションが2つ張られる。
セッションA、セッションB
2.ファイルa をアップロード
2つのセッションでアップロードを開始。
3.不具合発生
セッションAでは、ファイルのアップロードは成功。
セッションBで、アップロード処理がタイムアウト。
(セッションAの処理でファイルが置かれ、ファイル重複のため
処理が異常終了?or タイムアウト?)
4.結果、転送処理が異常終了。
なぜセッションが2重に張られてしまうのか分からず。
(さすがにここはサーバでは分からない)
う〜む。回線の問題かねぇ。
そんなわけで、サーバ側で処置できることをして貰い、結果として
不具合は発生しなくなった。
でもなんかまだ怖いなぁ(;谷)
=heteml の MySQL でトランザクションをする為に=
heteml の MySQL はデフォルトのストレージエンジン MyISAM である。
そのため、明示的にエンジンを指定しないとトランザクションは使えない。
テーブルを作成する時に以下の方法でエンジンを指定することで、トランザクションを
扱えるようになる。
例:
CREATE TABLE TBL_NAME (…) ENGINE = InnoDB
or
CREATE TABLE TBL_NAME (…) TYPE = InnoDB
既存のテーブルに対しては以下の方法で可能。
例:
ALTER TABLE TABLE_NAME ENGINE = InnoDB
or
ALTER TABLE TABLE_NAME TYPE = InnoDB
あぁ〜そうか、過去に扱えなかったのはこのせいか・・・w
