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

[dev.icinga.com #10991] Stream buffer size is 512 bytes, could be raised #3859

Closed
icinga-migration opened this issue Jan 20, 2016 · 8 comments
Labels
bug Something isn't working
Milestone

Comments

@icinga-migration
Copy link

This issue has been migrated from Redmine: https://dev.icinga.com/issues/10991

Created by tgelf on 2016-01-20 12:40:56 +00:00

Assignee: gbeutner
Status: Closed (closed on 2016-02-03 13:42:34 +00:00)
Target Version: 2.4.2
Last Update: 2016-02-23 09:58:43 +00:00 (in Redmine)

Icinga Version: 2.4.1
Backport?: Already backported
Include in Changelog: 0

I examined this on the REST API, but looks as this affects all streams: Icinga2 is read/writing packets in chunks limited to 512 bytes. That's usually not enough to fit a single check result, so multiple packets are sent over the wire. Via REST it also seems that the newline characters are are sent in a single chunk, so when streaming as a client I basically get a single check result in three packets: 507 bytes, 229 bytes and 1 byte.

Cheers,
Thomas


Relations:

@icinga-migration
Copy link
Author

Updated by jflach on 2016-01-21 09:59:14 +00:00

No way, the Chinese are never going to approve of that!

On a serious note:
An increased limit does only make sense is there are no additional chunking rules. Which I guess you mean by "newline characters are are sent in a single chunk"?
As for an increased size limit, 2kib seems like a sensible value.

@icinga-migration
Copy link
Author

Updated by tgelf on 2016-01-21 12:58:28 +00:00

I'd suggest to stay somewhere around 1280, that would make sure that most chunks fit in single TCP packets even with multiple nesting layers involved, think of PPPoE plus nested VPNs or whatever. ISDN could probably still be forced to split those chunks in multiple packets, but hey - it's 2016.

Regarding the newline: I used the stream REST API, that ships endless JSON strings separated by newline characters. I guess Icinga2 is shipping my multiple chunks for the JSON strings and separate chunks for all those newline separators, but there could of course also something be wrong in my code at the receiving side.

Cheers,
Thomas

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2016-01-22 15:14:10 +00:00

  • Category set to libbase
  • Target Version set to Backlog

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2016-01-25 10:32:57 +00:00

  • Target Version changed from Backlog to 2.4.2

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2016-02-03 13:42:10 +00:00

  • Relates set to 11014

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2016-02-03 13:42:34 +00:00

  • Status changed from New to Closed
  • Assigned to set to gbeutner
  • Done % changed from 0 to 100

Fixed in 83889dc.

@icinga-migration
Copy link
Author

Updated by gbeutner on 2016-02-23 08:35:27 +00:00

  • Include in Changelog changed from 1 to 0

@icinga-migration
Copy link
Author

Updated by gbeutner on 2016-02-23 09:58:43 +00:00

  • Backport? changed from Not yet backported to Already backported

@icinga-migration icinga-migration added bug Something isn't working libbase labels Jan 17, 2017
@icinga-migration icinga-migration added this to the 2.4.2 milestone Jan 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant