作者in2 (敬请期待 :P)
看板PttCurrent
标题Re: [问题] 数千文章的看板
时间Sat Sep 11 02:32:38 2004
※ 引述《[email protected] (努力! 根性战队)》之铭言:
: ※ 引述《[email protected] (敬请期待 :P)》之铭言:
: : 这个其实很简单,
: : 因为在推文或是修改文章这一类动作时,
: : 会重新将 fileheader_t 写入 .DIR 原位置中.
: 即是没有 lock 好? 那太过惨了, 我们这边 database 派系已经经常取笑系统
: concurrency 弱鸡... 我们也是打算检讨一下那些放 lock 的东西, 时序是否
: 设得不好.
我是觉得还好, bbs 上面应该不太需要很强的 lock ,
或是说目前我们的资源也没有办法做太强的 lock .
: : 如果说这时 .DIR 突然被删掉一些 (不管是 expire 或是删掉)
: : 那个程式并不知道, 又将资料写回原来的地方,
: : 就会造成这种效果 :p
: 我们没有启动 expire , 猜想会砍真实 file 的 unlink / rm ,
: 只会在 mbbsd 去执行. 若说 .DIR 被删掉一些, 除非 i/o 很有问题吧,
例如说现在 .DIR 有 1000 篇, 我删掉第 500-510 篇,
於是就会把 1~499 & 511 ~ 1000 重新写到 .DIR 里面.
如果这个时候有人的游标在第 1000 ,
又使用推文/ 修改文章,
就会出现前面说的那个情况.
: 不然不该会出现砍掉全板文章实体这种事.
我倒没有碰过砍掉全板文章实体~ :Q
: 倒是, 我相信 i/o 可以很有问题, 因为我也见识过错位的 .DIR
为了节省资源, 推文的时候只把推文数写进去 (只写 1byte)
碰到前面那种情况, 就会出现你所谓的 "错位的 .DIR"
--
「假设上天只给我爱情或微积分, 我愿选择一生的幸福」
-- ψ 中华人民共和国 1981-未决
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.144