Rainer Gerhards
fdfcb2a8f9
added advanced flow control for congestion cases (mode depending on message
...
source and its capablity to be delayed without bad side effects)
2008-03-14 11:04:36 +00:00
Rainer Gerhards
fd21706905
some more 32 bit fun ;)
2008-01-31 14:24:06 +00:00
Rainer Gerhards
41fb70130f
bugfix: having fun with 32/64 bit portability - after 15 years, I finally
...
was trapped again ;) -- now fixed, sizes > 2GB supported on 32bit
platforms
2008-01-31 12:54:10 +00:00
Rainer Gerhards
0e3b40fd8a
- implemented limiting disk space allocated to queues
...
- addded $MainMsgQueueMaxDiskSpace config directive
- addded $ActionQueueMaxDiskSpace config directive
2008-01-30 19:07:23 +00:00
Rainer Gerhards
6cc46b15d9
- implemented simple output rate limiting
...
- addded $ActionQueueDequeueSlowdown config directive
- addded $MainMsgQueueDequeueSlowdown config directive
- bugfix: MsgDup() did not work with new base object data structure
2008-01-30 15:37:23 +00:00
Rainer Gerhards
e12e53cfbb
added ability to re-enqueue objects into the queue when a worker thread is
...
cancelled
2008-01-29 17:36:19 +00:00
Rainer Gerhards
c77519ab7b
- implemented the $ActionResumeRetryCount config directive
...
- added queue between main queue and action executor (currently works in
"direct" mode only, else crashes)
- added $ActionQueueFilename config directive
- added $ActionQueueSize config directive
- added $ActionQueueHighWaterMark config directive
- added $ActionQueueLowWaterMark config directive
- added $ActionQueueDiscardMark config directive
- added $ActionQueueDiscardSeverity config directive
- added $ActionQueueCheckpointInterval config directive
- added $ActionQueueType config directive
- added $ActionQueueWorkerThreads config directive
- added $ActionQueueTimeoutshutdown config directive
- added $ActionQueueTimeoutActionCompletion config directive
- added $ActionQueueTimeoutenQueue config directive
- added $ActionQueueTimeoutworkerThreadShutdown config directive
- added $ActionQueueWorkerThreadMinimumMessages config directive
- added $ActionQueueMaxFileSize config directive
- added $ActionQueueSaveonShutdown config directive
2008-01-28 17:39:46 +00:00
Rainer Gerhards
94bfc28855
cleanup to prepare for release
2008-01-28 11:35:33 +00:00
Rainer Gerhards
59b67824d6
some more testing and cleanup with the queue class (pretty stable now)
2008-01-28 10:48:51 +00:00
Rainer Gerhards
7d8b1c2937
fixed a bug when shutting down DA queue
2008-01-27 14:46:23 +00:00
Rainer Gerhards
0c6c9dfe8a
fixed the situation where message processing could be stalled for some
...
period after DA mode turn off
2008-01-27 10:33:03 +00:00
Rainer Gerhards
439f19ad38
partially fixed bug that caused rsyslogd to stall processing enqueued
...
messages after turning off DA mode and before any new message were
arrived (if a new message arrived, everything went back to normal, so
it was a temporary halt)
2008-01-26 17:30:51 +00:00
Rainer Gerhards
87f0e9b5f9
disk-assisted queue mode finally begins to look good ;)
2008-01-25 19:25:46 +00:00
Rainer Gerhards
5c686c8adc
redesigned queue to utilize helper classes for threading support. This is
...
finally in a running state for regular (non disk-assisted) queues, with
a minor nit at shutdown. So I can finally commit the work again to
CVS...
2008-01-24 17:55:09 +00:00
Rainer Gerhards
1679e0643d
some further cleanup on the mutexes
2008-01-19 17:33:53 +00:00
Rainer Gerhards
c4bc441e3c
seperated mutex for queue size management from those for queue thread
...
management
2008-01-19 12:22:13 +00:00
Rainer Gerhards
fabcb72a09
saving state
2008-01-18 23:24:51 +00:00
Rainer Gerhards
2bd1e28352
- created an in-depth description of DA assisted queue mode
...
- snapshot of new thread coding - DA mode still does not work, but need to
save
2008-01-18 16:01:07 +00:00
Rainer Gerhards
e0df42e014
fixed sync issue on shutdown process if need to persist pure memory queue
...
to disk
2008-01-17 16:30:49 +00:00
Rainer Gerhards
ed0363210c
worked on threading
2008-01-17 12:45:10 +00:00
Rainer Gerhards
75a8f92d50
implemented dynamic startup and shutdown of worker threads based on current
...
activity
2008-01-16 16:40:11 +00:00
Rainer Gerhards
22b9dc1af1
queue is now able to restore persisted state on startup (but still some
...
fine tuning to be done)
2008-01-16 09:24:38 +00:00
Rainer Gerhards
bb7c2ef720
changed startup of disk assisted mode to allow for higher concurrency, most
...
importantly allow the input to continue enqueue msgs while the disk
queue is initialized. This may help somewhat with UDP and other lossy
sources
2008-01-15 16:17:51 +00:00
Rainer Gerhards
8f5c0764aa
disk assisted queue works quite well, except for startup from disk queue
2008-01-15 11:04:46 +00:00
Rainer Gerhards
75b645f16b
some more work on disk assisted mode (still not complete)
2008-01-14 19:08:43 +00:00
Rainer Gerhards
ec27ea55f3
begin disk assisted queue memory queue modes (not fully implemented yet)
2008-01-14 17:53:35 +00:00
Rainer Gerhards
a53b019a4e
- implemented config file handlers for
...
$MainMsgQueueHighWaterMark
$MainMsgQueueLowWaterMark
$MainMsgQueueDiscardMark
$MainMsgQueueDiscardSeverity but did NOT yet implement the functionality
behind these directives!
2008-01-14 13:54:22 +00:00
Rainer Gerhards
b49bf8c922
removed $MainMsgQueueImmediateShutdown config directive and handling, this
...
has been superseeded by the Timeout params. Backward compatibility is
no concern, no version with that directive was ever released.
2008-01-14 11:58:40 +00:00
Rainer Gerhards
77a338e180
- implemented $MainMsgQueueTimeoutActionCompletion config directive
...
- implemented $MainMsgQueueTimeoutEnqueue config directive
- implemented $MainMsgQueueTimeoutShutdown config directive
- some cleanup
2008-01-14 11:55:24 +00:00
Rainer Gerhards
dd36718bd1
worker shutdown sequence enhanced to try different ways to shut down and
...
terminate workers if none helps (this protects against badly written
output plugins which hold the queue for too long)
2008-01-14 08:37:42 +00:00
Rainer Gerhards
bbf0aecbbd
added $MainMsgQueuePersistUpdateCount config file directive
2008-01-13 17:16:59 +00:00
Rainer Gerhards
abdcea7d8f
support for reading back persistet queue information completed
2008-01-13 15:47:41 +00:00
Rainer Gerhards
dd575394db
support for object property bags added
2008-01-11 14:34:53 +00:00
Rainer Gerhards
8dad399750
file stream objects are now persistet on immediate queue shutdown (queue
...
itself is not yet fully persisted)
2008-01-11 14:12:25 +00:00
Rainer Gerhards
e095d1ab45
added $MainMsgQueueImmediateShutdown config directive
2008-01-11 10:11:55 +00:00
Rainer Gerhards
c9430404db
- begun to permit queue to terminate without being drained
...
- fixed a starvation condition in queueWorker (pthread_yield() was needed)
could not be seen with any previously released code, came up during new
development
2008-01-11 09:53:53 +00:00
Rainer Gerhards
68efb41220
- some cleanup
...
- implemented management function for worker thread 0 in order to change
queue workers dynamically -- stage work
2008-01-10 17:33:21 +00:00
Rainer Gerhards
aa7e00d8e1
changed queue class to use stream class
2008-01-09 17:25:07 +00:00
Rainer Gerhards
2146e34070
implemented $MainMsgQueueFilePrefix configuration directive
2008-01-09 11:12:20 +00:00
Rainer Gerhards
bff48ee5ed
implemented queue object method to set the file name prefix
2008-01-09 08:58:06 +00:00
Rainer Gerhards
fbd4ecdce4
- implemented new GetSize() handler for config files
...
- implemented $MainMsgQueueMaxFileSize configuration directive
2008-01-09 08:25:25 +00:00
Rainer Gerhards
8d0a174a86
- first implementation of "disk" queue mode finished. It still needs some
...
work and the deserializer needs also to be expanded, but the queue at
least performs well now.
- fixed a race condition that could occur when input modules were
terminated
2008-01-08 13:37:19 +00:00
Rainer Gerhards
6d4bd34517
implemented queue disk reader to switch to multiple files
2008-01-08 08:45:24 +00:00
Rainer Gerhards
571d21a33a
- MsgSetProperty() implemented
...
- defined a property class
- implemented deserializer (needs some more work)
2008-01-07 17:26:49 +00:00
Rainer Gerhards
2c5b4f3c3d
implemented buffered read calls for the queue file
2008-01-07 10:41:22 +00:00
Rainer Gerhards
cfbb74e7a5
implemented disk queue as far as I could without an object de-serializer
2008-01-07 09:51:55 +00:00
Rainer Gerhards
558003a725
- added multiple worker thread capability to queue class
...
- implemented $MainMsgQueueWorkerThreads config directive
2008-01-05 15:58:33 +00:00
Rainer Gerhards
62154cdde9
added the "direct" queueing mode to queue class (no queing at all)
2008-01-05 13:39:40 +00:00
Rainer Gerhards
800ac1889b
changed queue object Construction/Startup interface
2008-01-04 17:17:12 +00:00
Rainer Gerhards
eb9f97ee2d
removed serialization pointer from queue; used new base class instead
2008-01-04 16:23:37 +00:00