プロジェクト

全般

プロフィール

Bug(バグ) #3074

2 系で退会したメンバのデータが 3 系で新規登録したメンバに紐付いてしまう場合がある

Yuya Watanabeほぼ12年前に追加. 11年以上前に更新.

ステータス:
Invalid(無効)
優先度:
High(高め)
担当者:
-
対象バージョン:
-
開始日:
2012-06-11
期日:
進捗率:

0%

3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Unknown (未調査)

説明

概要

2 系で退会したはずのメンバのコメントが 3 系で新規登録したメンバによって書かれたかのような処理が行われる.

再現方法

日記コメントの場合.他のデータも紐付く可能性があるが未調査.

  1. 2.14 をインストール
  2. 初期メンバ A を登録(SNS メンバ数 1)
  3. メンバ B を追加(SNS メンバ数 2)
  4. メンバ C を追加(SNS メンバ数 3)
  5. メンバ A で日記 d を書く
  6. 日記 d に対して メンバ C がコメント x を書く
  7. メンバ C が退会する(SNS メンバ数 2)
  8. 3.6.3 へアップグレード
  9. 日記 d を閲覧する -> コメント x のメンバが非表示であることを確認する
  10. メンバ D を追加(SNS メンバ数 3)
  11. 日記 d を閲覧する -> コメント x が メンバ D によって書かれたことになっている

確認バージョン

バージョンアップ前: OpenPNE 2.14
バージョンアップ後: OpenPNE 3.6.3

CentOS 5.8
MySQL 5.0.95

原因

メンバのデータを表すテーブルの auto_increment の値が 2.14 のときのものと一致していないため,新規登録した場合に 2 系ですでに使われていた メンバID に数字が割り当てられてしまう.

mysql> show table status where name = "c_member";
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| Name     | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation       | Checksum | Create_options | Comment |
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| c_member | MyISAM |      10 | Dynamic    |    2 |             64 |         128 | 281474976710655 |         3072 |         0 |              4 | 2012-06-11 01:28:50 | 2012-06-11 01:28:50 | NULL       | utf8_general_ci |     NULL |                |         | 
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
1 row in set (0.00 sec)

mysql> show table status where name = "member";
+--------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+----------------------------------------------------------------------------------+
| Name   | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation       | Checksum | Create_options | Comment                                                                          |
+--------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+----------------------------------------------------------------------------------+
| member | InnoDB |      10 | Compact    |    2 |           8192 |       16384 |               0 |        32768 |         0 |              3 | 2012-06-11 01:28:50 | NULL        | NULL       | utf8_unicode_ci |     NULL |                | Saves informations of members; InnoDB free: 1845248 kB; (`invite_member_id`) REF | 
+--------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+----------------------------------------------------------------------------------+
1 row in set (0.00 sec)


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #3258: 2 系で退会したメンバのデータが 3 系で新規登録したメンバに紐付いてしまう場合がある Fixed(完了) 2012-11-12

履歴

#1 Yuya Watanabeほぼ12年前に更新

  • 説明 を更新 (diff)

#2 Yuya Watanabeほぼ12年前に更新

  • 説明 を更新 (diff)

#3 Yuya Watanabeほぼ12年前に更新

  • 優先度Normal(通常) から High(高め) に変更

#4 Yuya Watanabeほぼ12年前に更新

他にも auto_increment の値が更新されないことによって発生しうる問題を調査する必要がある.

メンバについては 下記データが影響を受けるものとおもわれる.他にもあるかどうかは調査が必要.
  • 日記コメント
  • あしあと
  • コミュニティトピックコメント
  • コミュニティイベントコメント

#5 Kousuke Ebihara11年以上前に更新

  • 3.6 で発生するかUnknown (未調査) から Yes (はい) に変更

#6 Yuya Watanabe11年以上前に更新

  • ステータスNew(新規) から Invalid(無効) に変更
  • 3.8 で発生するかUnknown (未調査) にセット

#3258 と重複しているためこちらを invalid としてクローズします.

他の形式にエクスポート: Atom PDF