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
  0 siblings, 0 replies; only message 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	[flat|nested] only message in thread

only message in thread, other threads:[~2026-03-16 12:17 UTC | newest]

Thread overview: (only message) (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

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