Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSVダウンロードにて重複や抜けが生じる可能性について #5202

Closed
systemfriend-tsuji opened this issue Oct 29, 2021 · 2 comments
Labels
Milestone

Comments

@systemfriend-tsuji
Copy link
Contributor

systemfriend-tsuji commented Oct 29, 2021

概要(Overview)

更新日が同一のデータがあると、
CSVダウンロード(4.1.0のPaginatorを利用した方式)時に重複や抜けが生じたことがあります。

※ 4.1.0では確認していません。
メモリ不足解消のため、同じ構造を4.0.5に移植したところ発生しました。

Paginatorでは100件区切りでSQLを発行していると思われるので、
並び順が一意に決まらないとSQL発行時に並び順が確定せず、
ページング間で重複や抜けが出てくると推測しています。

期待する内容(Expect) or 要望 (Requirement)

CsvExportServiceのオブジェクトにQueryBuilderをセットする前に
並び順が一意になるようにid descなどを加えることをご検討いただけるでしょうか。

実際に行ったのは商品CSVのダウンロード時にid descを加えることで解消しました。

再現手順(Procedure)

  1. 商品データのupdate_dateを同一に更新する
    実際に現象が起きたデータには6000強のデータを入れていました。
  2. CSVダウンロードを行う

環境 (environment)

  • EC-CUBE: 4.0.5(4.1.0のCsvExportService.phpを移植)
  • PHP: 7.4.16
  • DB:
    • PostgreSQL 10.6

関連情報 (Ref)

@chihiro-adachi chihiro-adachi added this to the 4.1.x milestone Nov 10, 2021
@chihiro-adachi
Copy link
Contributor

@systemfriend-tsuji
ありがとうございます。
確かに発生する可能性はありそうですね。
id descでのソート順を追加していただく形で問題ないかと思います。

pull requestいただくことは可能でしょうか?

@chihiro-adachi
Copy link
Contributor

#5408 で対応

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants