ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 11 years ago

Closed 11 years ago

#2241 closed defect (wontfix)

DB分散環境で管理人が存在しないコミュが出来てしまう場合がある

Reported by: ykimura Owned by: ebihara
Priority: critical Milestone: OpenPNE2.8.11
Component: 指定しない Version: 2.8.x
Keywords: Cc:

Description

原因 退会部分の処理で、新しい管理人のidを取ってくるところでmasterDBを見ていないため。

    foreach ($c_commu_list as $c_commu) {
        if (!_db_count_c_commu_member_list4c_commu_id($c_commu['c_commu_id'])) {
            // コミュニティ削除
            db_common_delete_c_commu($c_commu['c_commu_id']);
        } else {
            // 管理者交代
            // 参加日時が一番古い人
            $sql = 'SELECT c_member_id FROM c_commu_member WHERE c_commu_id = ?'.
                ' ORDER BY r_datetime';
            $params = array(intval($c_commu['c_commu_id']));
            $new_admin_id = db_get_one($sql, $params);

            $data = array('c_member_id_admin' => intval($new_admin_id));
            $where = array('c_commu_id' => intval($c_commu['c_commu_id']));
            db_update('c_commu', $data, $where);
        }
    }

$new_admin_id を、退会した管理人のIDを取ってきているものと思われます。

Change History (10)

comment:1 Changed 11 years ago by imamura623

Keywords: OpenPNE2.8.11 OpenPNE2.12beta1 added
Milestone: OpenPNE2.10.6

comment:2 Changed 11 years ago by ogawa

Priority: blockercritical

comment:3 Changed 11 years ago by ogawa

Priority: criticalmajor

comment:4 Changed 11 years ago by ogawa

Keywords: OpenPNE2.12beta2 added; OpenPNE2.12beta1 removed

comment:5 Changed 11 years ago by ogawa

Summary: 【バグ】DB分散環境で管理人が存在しないコミュが出来てしまう。DB分散環境で管理人が存在しないコミュが出来てしまう場合がある

comment:6 Changed 11 years ago by ebihara

Priority: majorcritical

comment:7 Changed 11 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

やります。

comment:8 Changed 11 years ago by ebihara

#1399 で OpenPNE2.10beta2 以降のコードにはmasterDBを見る修正が入っています。

OpenPNE2.10がリリースされて随分経ちますが、#1399の修正により問題が生じたという報告はありません。 この修正は安定版に取り込んでも問題ないと判断し、このチケットでOpenPNE2.8にも同様の修正を適用したいと思います。

comment:9 Changed 11 years ago by ebihara

Keywords: OpenPNE2.8.11 OpenPNE2.12beta2 removed
Milestone: OpenPNE2.10.6OpenPNE2.8.11
Version: 2.8.x & 2.10.x & 2.11.x2.8.x

2.8で試験したところ、再現しました。

このチケットの対象を OpenPNE2.8.x のみとします。

comment:10 Changed 11 years ago by ebihara

Resolution: wontfix
Status: assignedclosed

OpenPNE2.8.x ではマスタDBを読みにいくよう明示的に指定することができないので、この問題への対応は困難です。

OpenPNE2.10.x 以降には修正が取り込まれているので、 wontfix でクローズしたいと思います。

Note: See TracTickets for help on using tickets.