Project

General

Profile

Bug(バグ) #3074

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

Added by Yuya Watanabe over 10 years ago. Updated almost 10 years ago.

Status:
Invalid(無効)
Priority:
High(高め)
Assignee:
-
Target version:
-
Start date:
2012-06-11
Due date:
% Done:

0%

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

Description

概要

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)


Related issues

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

History

#1 Updated by Yuya Watanabe over 10 years ago

  • Description updated (diff)

#2 Updated by Yuya Watanabe over 10 years ago

  • Description updated (diff)

#3 Updated by Yuya Watanabe over 10 years ago

  • Priority changed from Normal(通常) to High(高め)

#4 Updated by Yuya Watanabe over 10 years ago

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

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

#5 Updated by Kousuke Ebihara about 10 years ago

  • 3.6 で発生するか changed from Unknown (未調査) to Yes (はい)

#6 Updated by Yuya Watanabe almost 10 years ago

  • Status changed from New(新規) to Invalid(無効)
  • 3.8 で発生するか set to Unknown (未調査)

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

Also available in: Atom PDF