all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH pmg-api v3] fix #7407: cluster: report: increase maximal filesize to 4M
@ 2026-03-16 12:16 Stoiko Ivanov
  2026-06-02 23:44 ` applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Stoiko Ivanov @ 2026-03-16 12:16 UTC (permalink / raw)
  To: pmg-devel

the postfix configuration files are read via PVE::INotify in our
stack and have no implicit limit.

PMG::Cluster and PMG::Report do read the same file's contents using
`file_get_contents` with a limit (explicitly set, or implicit) of 1M.

This causes the cluster-sync to fail in one reported deployment
hosting ~40k domains, with explicit transport entries and comments
(resulting in a 1.4M /etc/pmg/transport).

increasing the size to 4M seems like a good tradeoff between running
into this again in a short while (2M), and causing the cluster-sync to
need excessive amounts of time when comparing larger files for
equality.

If we reach this limit again we should consider better options for
change detection.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
v2->v3:
* fixed the commit-message to actually fit the changes
(sorry for the noise)
v1->v2:
* increase size to 4M based on feedback from Dominik - thx!

 src/PMG/Cluster.pm | 4 ++--
 src/PMG/Report.pm  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/PMG/Cluster.pm b/src/PMG/Cluster.pm
index 02d727ee..3e0b12ac 100644
--- a/src/PMG/Cluster.pm
+++ b/src/PMG/Cluster.pm
@@ -266,10 +266,10 @@ my $cond_commit_synced_file = sub {
         return;
     }
 
-    my $new = PVE::Tools::file_get_contents($srcfn, 1024 * 1024);
+    my $new = PVE::Tools::file_get_contents($srcfn, 4096 * 1024);
 
     if (-f $dstfn) {
-        my $old = PVE::Tools::file_get_contents($dstfn, 1024 * 1024);
+        my $old = PVE::Tools::file_get_contents($dstfn, 4096 * 1024);
         return 0 if $new eq $old;
     }
 
diff --git a/src/PMG/Report.pm b/src/PMG/Report.pm
index 84d1b887..58756c77 100644
--- a/src/PMG/Report.pm
+++ b/src/PMG/Report.pm
@@ -72,7 +72,7 @@ sub dir2text {
         sub {
             my ($file) = @_;
             $report .= "\n# cat $target_dir$file\n";
-            $report .= PVE::Tools::file_get_contents($target_dir . $file) . "\n";
+            $report .= PVE::Tools::file_get_contents($target_dir . $file, 4096 * 1024) . "\n";
         },
     );
 }
-- 
2.47.3





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* applied: [PATCH pmg-api v3] fix #7407: cluster: report: increase maximal filesize to 4M
  2026-03-16 12:16 [PATCH pmg-api v3] fix #7407: cluster: report: increase maximal filesize to 4M Stoiko Ivanov
@ 2026-06-02 23:44 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2026-06-02 23:44 UTC (permalink / raw)
  To: pmg-devel, Stoiko Ivanov

On Mon, 16 Mar 2026 13:16:27 +0100, Stoiko Ivanov wrote:
> the postfix configuration files are read via PVE::INotify in our
> stack and have no implicit limit.
> 
> PMG::Cluster and PMG::Report do read the same file's contents using
> `file_get_contents` with a limit (explicitly set, or implicit) of 1M.
> 
> This causes the cluster-sync to fail in one reported deployment
> hosting ~40k domains, with explicit transport entries and comments
> (resulting in a 1.4M /etc/pmg/transport).
> 
> [...]

Applied, thanks!

[1/1] fix #7407: cluster: report: increase maximal filesize to 4M
      commit: 69a62d286498cee24765d6bcdd3939534e224118




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-06-02 23:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-16 12:16 [PATCH pmg-api v3] fix #7407: cluster: report: increase maximal filesize to 4M Stoiko Ivanov
2026-06-02 23:44 ` applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal