[ZBXNEXT-4920] Configurable ZBX_MAX_RECV_DATA_SIZE (limit per connection) Created: 2018 Dec 17  Updated: 2024 Apr 10  Resolved: 2019 Sep 05

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: Proxy (P), Server (S)
Affects Version/s: 4.0.1
Fix Version/s: 4.0.13rc1, 4.2.7rc1, 4.4.0alpha3, 4.4 (plan)

Type: New Feature Request Priority: Critical
Reporter: Grant Ashton Assignee: Andrejs Kozlovs
Resolution: Fixed Votes: 6
Labels: limit
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Number of hosts (enabled/disabled/templates) 837 752 / 0 / 85
Number of items (enabled/disabled/not supported) 1574037 436521 / 970643 / 166873
Number of triggers (enabled/disabled [problem/ok]) 504515 123758 / 380757 [365 / 123393]
Required server performance, new values per second 638.87


Issue Links:
Duplicate
is duplicated by ZBXNEXT-5052 Increase limit per one connection Closed
Team: Team A
Sprint: Sprint 55 (Aug 2019)
Story Points: 0.125

 Description   

Related: ZBX-7777

The following constant is defined and not configurable.

Index: trunk/include/common.h
===================================================================
--- trunk/include/common.h	(revision 43681)
+++ trunk/include/common.h	(revision 43682)
@@ -893,7 +893,7 @@
 #define ZBX_JAN_2038		2145916800
 #define ZBX_JAN_1970_IN_SEC	2208988800.0	/* 1970 - 1900 in seconds */
 
-#define ZBX_MAX_RECV_DATA_SIZE	(64 * ZBX_MEBIBYTE)
+#define ZBX_MAX_RECV_DATA_SIZE	(128 * ZBX_MEBIBYTE)
 
 /* max length of base64 data */
 #define ZBX_MAX_B64_LEN	(16 * ZBX_KIBIBYTE)

This is causing a major issue for large server/proxy configurations. As the proxies are unable to retrieve the configuration:

12111:20181217:101346.318 Uncompressed message size 7464888 from zabbix-server exceeds the maximum size 134217728 bytes. Message ignored. 
12111:20181217:101346.318 cannot obtain configuration data from server at zabbix-server:

Note: The error message uncompressed message size value was fixed in -ZBX-15138-

So the ZBX_MAX_RECV_DATA_SIZE constant should be configurable, or better yet the limitation removed exclusively for Server/Proxy configuration dissemination to avoid this issue.



 Comments   
Comment by Grant Ashton [ 2018 Dec 18 ]

Information - Our config comes in at 172.28 MB, so well above this receive limit which required a temporary fix by increasing this value in the code and recompiling the zabbix_proxy binary.

Comment by Anthony Somerset [ 2019 Apr 03 ]

I have the same issue on 4.2 after swapping from sqlite to mysql as well 

10304:20190403:131412.800 Uncompressed message size 174113376 from monitoring-vip.xxxx exceeds the maximum size 134217728 bytes. Message ignored.

10304:20190403:131412.800 cannot obtain configuration data from server at "monitoring-vip.xxxx":

I'd like to also argue that #ZBX-7777 was 5 years ago and memory might have been more of a concern then than today, so having a configurable flag would be preferred

Comment by Evgeny Molchanov [ 2019 Jul 08 ]

Zabbix-proxy 4.2.3 SQLite - same issue,

Uncompressed message size 139022552 from 127.0.0.1 exceeds the maximum size 134217728 bytes. Message ignored.

fix with change ZBX_MAX_RECV_DATA_SIZE and build from source

Comment by Andrejs Kozlovs [ 2019 Aug 29 ]

Fixed in:

  • 4.0.13rc1 4be974c8294
  • 4.2.7rc1 6ac8f453fc6
  • 4.4.0alpha3 (master) 97560e62933
Comment by Alexander Vladishev [ 2019 Sep 05 ]

Updated What's New pages: 4.0.13, 4.2.7

Comment by Glebs Ivanovskis [ 2019 Sep 05 ]

The request was to make this limit configurable... If I were gashton, I would reopen the ticket.

Generated at Wed Apr 24 17:56:18 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.