バージョン選択

フォーラム

メニュー

オンライン状況

41 人のユーザが現在オンラインです。 (31 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 41
もっと...

サイト内検索

バグ報告 > フロント機能 > 携帯で注文する時、二重注文が入ってしまうのは?

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
pop2joa
投稿日時: 2010/6/8 18:02
対応状況: −−−
新米
登録日: 2010/6/7
居住地:
投稿: 6
Re: 二重注文の不具合
AMUAMUさん!!
ご応答ありがとうございます〜


教えていただいた通り、
「明示的な行ロック」を調べましてSC_Helper_DB.phpのsfGetOrderTempの
「$where = "order_temp_id = ?"」を「$where = "order_temp_id = ? FOR UPDATE"」に変えたら、?のパターンの「del_flg」は1個だけが「0」になるようになりました。正しいですかね?他に問題が発生するんじゃないかと心配ですが、、

?のパターンに対してはもうちょっと調べてみます。

本当にありがとうございます〜


↓↓以下参照サイト
http://www.geocities.jp/sugachan1973/doc/funto60.html
AMUAMU
投稿日時: 2010/6/8 15:47
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
二重注文の不具合
この問題、詳しく調べてみました。

今まで当方の顧客では発生経験がなく、深く気にしていませんでしたが、たまたまlfDoCompleteを大幅に修正する件があり改めて調べたところ、標準のEC-CUBEのトランザクションの利用方法に問題があり、この現象は不具合ではないかと考えています。

原因として考えているのはdtb_order_tempの読み取り行に対して明示的ロックをしていないことではないかと思います。

この結果、多重読み込みへの対応は本来、pop2joaさんご指摘の?のパターンを想定しているように見えますが、?のように複数の注文に分裂するタイミングがありえます。
?のパターンも起きないように出来るとは思いますが改編箇所多いですね・・・

まだ調べていませんが広範囲に同じ問題を抱えている可能性があります。

なお、これはMySQLでもPostgreSQLでも起こると思います。(どちらも明示的な行ロックが確か必要なはず)

少々MySQL、PostgreSQLのトランザクション制御に関する深い所で、実装系差違部分もありますし(例えば、もし同様の手順をDB2で組むと発生しないはず)、難解ですが早々に治したい不具合かもしれません。

私の勘違いではないかどうか、他の識者の方々の見解もいただければと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

pop2joa
投稿日時: 2010/6/8 0:17
対応状況: −−−
新米
登録日: 2010/6/7
居住地:
投稿: 6
Re: 携帯で注文する時、二重注文が入ってしまうのは?
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=4143&forum=9

現象としては上記の場合が一番近いかと思います。
pop2joa
投稿日時: 2010/6/8 0:14
対応状況: −−−
新米
登録日: 2010/6/7
居住地:
投稿: 6
携帯で注文する時、二重注文が入ってしまうのは?
携帯で注文する時、サーバーの応答とかが遅くなるとユーザとしては2〜3回押すあ場合があると思いますが、その場合、同じ注文が2〜3個入っちゃって困ってます。

【現象】
パタンとしては2種類があります。
?同じ注文が2〜3個発生し、dtb_orderのdel_flgは1個だけが生きている場合


?同じ注文が2〜3個発生し、del_flgが全部生きている場合(del_flg = 0)

そもそもECCUBEってこちらの処理は出来てないですかね?
ご返信お待ちしますので宜しくお願い致します。


【システム情報】
EC-CUBE 2.4.1
PHP 5.1.6
PostgreSQL 8.1.11
« 1 (2)
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,970名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.