filamentphp / filament

A collection of beautiful full-stack components for Laravel. The perfect starting point for your next app. Using Livewire, Alpine.js and Tailwind CSS.
https://filamentphp.com
MIT License
19.18k stars 2.95k forks source link

Export Actions using Amazon S3 creates millions of Queue Invocations #11396

Closed nelsonmelecio closed 9 months ago

nelsonmelecio commented 9 months ago

Package

filament/filament

Package Version

v3.2.33

Laravel Version

v10.43.0

Livewire Version

v3.4.4

PHP Version

PHP 8.2.10

Problem description

What we did:

The issue:

Not sure if this is the expected behaviors when pointing the export features to use Amazon S3.

It works fine when using local storage.

Expected behavior

It should create only one CSV when exporting and should only use countable jobs/queues I guess?

Steps to reproduce

  1. Create a filament panel with list of records that are more than 100k records
  2. Implement Export Actions and point to S3
  3. Check the generated files, the jobs/queues.

Reproduction repository

n/a

Relevant log output

n/a
github-actions[bot] commented 9 months ago

Hey @nelsonmelecio! We're sorry to hear that you've hit this issue. 💛

However, it looks like you forgot to fill in the reproduction repository URL. Can you edit your original post and then we'll look at your issue?

We need a public GitHub repository which contains a Laravel app with the minimal amount of Filament code to reproduce the problem. Please do not link to your actual project, what we need instead is a minimal reproduction in a fresh project without any unnecessary code. This means it doesn't matter if your real project is private / confidential, since we want a link to a separate, isolated reproduction. That would allow us to download it and review your bug much easier, so it can be fixed quicker. Please make sure to include a database seeder with everything we need to set the app up quickly.

nelsonmelecio commented 9 months ago

Please understand that I don't want to recreate this since it may transfer millions of files again in our S3 accounts. So I will set the Reproduction repository empty for now.

nelsonmelecio commented 9 months ago

cc: @danharrin @zepfietje @ryangjchandler Please kindly check this issue.

danharrin commented 9 months ago

Please create a repository, even if you only run it locally and not on S3. I want to check your configuration

There should be job for each chunk

danharrin commented 9 months ago

The multiple CSVs are correct, there is one for each chunk, and they get combined when downloaded