Notes 内部で持ってるタイマとか

Lotus Notes クライアントさんは、一度セッションを持つと、そのセッション内で自前で時間管理をしているようにみえます。

時計の狂った PC に入った Notes で Domino サーバにアクセスするとき。

Domino サーバの時間より過去だと、Domino サーバ側の時間を信用して動くようです。

Domino サーバの時間より未来だと、PC側の時間を信用して動くようです。

んで。

Domino サーバの時間より過去の PC で Domino サーバへつないで使ってるとき。

例えば PC 側の時計が 3 時間遅れてるとしよう。

とりあえず最初のセッション内の時計は、Domino サーバに合わせてくれるので正しい時間なのですが。

「あれ? PCの時間おかしくね?」とユーザが気づいて PC の時刻合わせをしたりすると。すなわち、ノーツ起動したままで (セッション持ったままで) PC 側を 3時間進めると。

なんかセッション内の時計も 3時間進むんです。

せっかく Domino サーバに合わせて正しい時間だったのに、それより進めちゃうんです。なんだこれ。

NTP クライアントなんかがバックグラウンドで時刻合わせすんのは当然てな世の中ですが、そいつらが時間をチョチョイといじるたびに Notes の内部のタイマも動いちゃうんじゃソレ全然役に立たないですよ、と。

それで何がイヤなのですか。

メールの PostedDate に影響するの。 送信ビューに出てる日時が信用できなくなるの。

メール送信後に作成される 「RouteTimes」、「PostedDate」、「DeliveredDate」 フィールドの意味」って文書がありますが、これだと PostedDate は最初に経由するサーバの時間を参照とあるんですけど、そんなの参照してませんから。自前の怪しげな時計を参照してますから。

それ以外にも、自前の時計がブッ飛ぶことがたまにあるようで。俺んとこでも、数年前の日付になったり、数ヶ月先の日付になったりしたことがあります。

Lotus のフォーラムにもいくつか同様の「日時が時々おかしくなるよ」という件が投稿されてますが、解決したという話はまだ無さそうですね。

Wrong date in sent viewWrong date in sent view、等は、送信日の日付が変名感じで記録される、という件。

Wrong date provided by @Now、は、@Now がおかしな日時を返してくるよ、という件。

あ、あまりに PC の時間が昔過ぎると、サーバの時間を採用せずPCの時間を採用するようです。「'Sent By' Date (PostedDate) Reflects Unexpected Value When Client and Server Dates Greatly Differ」 によると、サーバとクライアントが249日以上離れてたら時間の同期はしないよ、ってとこですね。

文章がどうにもまとまりきらなくてアレですが、とりあえず走り書きメモ。