<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rsyslog.git/plugins/omoracle, branch v4.4.2</title>
<subtitle>rsyslog development for Lumberjack - various unofficial and potentially rebased branches</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/'/>
<entry>
<title>Make it recover from errors on insertions.</title>
<updated>2009-04-29T15:10:19+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-28T19:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=9823c73d1d07e50e6bec7f7c02c88d61d6955526'/>
<id>9823c73d1d07e50e6bec7f7c02c88d61d6955526</id>
<content type='text'>
If the database rejected some entry, making the statement fail on it,
the batch was not cleaned and the same values were retried over and
over, causing a cascade of failures and a denial of service.

We use now OCI_BATCH_ERRORS so that everything valid in the batch is
inserted, and rejected values can be discarded.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the database rejected some entry, making the statement fail on it,
the batch was not cleaned and the same values were retried over and
over, causing a cascade of failures and a denial of service.

We use now OCI_BATCH_ERRORS so that everything valid in the batch is
inserted, and rejected values can be discarded.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace get_db_statement by a template.</title>
<updated>2009-04-29T15:10:00+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-28T19:14:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=c35ce31aed4d873ed9564332374fbf82d7ff187d'/>
<id>c35ce31aed4d873ed9564332374fbf82d7ff187d</id>
<content type='text'>
Instead of reading a complete line, we'll use a template and delegate
in the core to read such template. Then, all omoracle has to do is to
find that template and use it as the prepared statement.

I'm not sure if this is the correct approach, though. It has to dig
too much into rsyslog's structures...

txt_statement is stored in a private area, so that we don't mess too
much with rsyslog's internals (I still don't feel comfortable with
this much digging into template structures).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of reading a complete line, we'll use a template and delegate
in the core to read such template. Then, all omoracle has to do is to
find that template and use it as the prepared statement.

I'm not sure if this is the correct approach, though. It has to dig
too much into rsyslog's structures...

txt_statement is stored in a private area, so that we don't mess too
much with rsyslog's internals (I still don't feel comfortable with
this much digging into template structures).
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the $OmoracleBatchItemSize directive</title>
<updated>2009-04-29T15:09:20+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-28T19:14:51+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=65a69831e955fa32b23e8f25d3ba67b1e3058e1d'/>
<id>65a69831e955fa32b23e8f25d3ba67b1e3058e1d</id>
<content type='text'>
This directive controls the amount of memory needed for properties in
the batch. Users should specify the largest value they expect in the
statement. As per Rainer's comment:

on MAX_BUFSIZE: I'd tend to make this configurable, because with
RFC5424 messages can be much longer and RFC5425 now recommends a
minimum maximum size of 8K.

So we let users to choose. Maybe we need a sensible default value to
make users' lifes easier?

Also, the old non-vector based interface is not supported anymore. I
broke it already when moving to this stage.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This directive controls the amount of memory needed for properties in
the batch. Users should specify the largest value they expect in the
statement. As per Rainer's comment:

on MAX_BUFSIZE: I'd tend to make this configurable, because with
RFC5424 messages can be much longer and RFC5425 now recommends a
minimum maximum size of 8K.

So we let users to choose. Maybe we need a sensible default value to
make users' lifes easier?

Also, the old non-vector based interface is not supported anymore. I
broke it already when moving to this stage.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add licensing information.</title>
<updated>2009-04-29T15:08:37+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-28T19:14:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=e65a30ddaaf027855b57355fe35b88b97053ac99'/>
<id>e65a30ddaaf027855b57355fe35b88b97053ac99</id>
<content type='text'>
I'm not sure if GPLv3 contemplates the ability to link to proprietary
software, if it was previous work. I explicitly allow linking to OCI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I'm not sure if GPLv3 contemplates the ability to link to proprietary
software, if it was previous work. I explicitly allow linking to OCI.
</pre>
</div>
</content>
</entry>
<entry>
<title>added a new error code for too-old rsyslog core</title>
<updated>2009-04-16T15:26:07+00:00</updated>
<author>
<name>Rainer Gerhards</name>
<email>rgerhards@adiscon.com</email>
</author>
<published>2009-04-16T15:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=2d5e8ba7cd05a95f897506e51dcc5adb06dbcaa8'/>
<id>2d5e8ba7cd05a95f897506e51dcc5adb06dbcaa8</id>
<content type='text'>
which can be emittend when plugin can not load due to missing
core functionality.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
which can be emittend when plugin can not load due to missing
core functionality.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixing the batch insertions.</title>
<updated>2009-04-16T13:28:01+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-15T14:53:21+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=668f9a79fb7268f7935d93249cf283664662996d'/>
<id>668f9a79fb7268f7935d93249cf283664662996d</id>
<content type='text'>
Previous versions inserted garbage (the pointer was interpreted as the
string itself). It seems inserting arrays of strings is not that easy
with OCI.

This approach consumes 2KB per entry in the batch, so if you have
batches of size 1000 you'll be using 2MB for the batch. This size
doesn't change, anyways and the risk of leaking memory is gone. OCI
doesn't deal well with batches of strings. :(
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previous versions inserted garbage (the pointer was interpreted as the
string itself). It seems inserting arrays of strings is not that easy
with OCI.

This approach consumes 2KB per entry in the batch, so if you have
batches of size 1000 you'll be using 2MB for the batch. This size
doesn't change, anyways and the risk of leaking memory is gone. OCI
doesn't deal well with batches of strings. :(
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the callback for OCIBindDynamic.</title>
<updated>2009-04-16T13:27:11+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-15T14:53:20+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=ca28204f7ba5c5c520b52180e26471e12af83560'/>
<id>ca28204f7ba5c5c520b52180e26471e12af83560</id>
<content type='text'>
Let's hope it works.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let's hope it works.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some debugging output</title>
<updated>2009-04-16T13:26:40+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-15T14:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=9a897329ec6f80c99ca039f12388961417e0a422'/>
<id>9a897329ec6f80c99ca039f12388961417e0a422</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the counting of bind parameters aware of literals.</title>
<updated>2009-04-16T13:26:09+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-15T14:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=f89b761c84270cde71e0a6275ea80bb20f60d2df'/>
<id>f89b761c84270cde71e0a6275ea80bb20f60d2df</id>
<content type='text'>
Literal strings passed in the statement may contain ':', let's not
count them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Literal strings passed in the statement may contain ':', let's not
count them.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed a mem leak</title>
<updated>2009-04-16T13:25:29+00:00</updated>
<author>
<name>Luis Fernando Muñoz Mejías</name>
<email>Luis.Fernando.Munoz.Mejias@cern.ch</email>
</author>
<published>2009-04-15T14:53:17+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/mitr/public_git/rsyslog.git/commit/?id=24fcd96203c9b8b84a8414cea19dcb3ba989c9ba'/>
<id>24fcd96203c9b8b84a8414cea19dcb3ba989c9ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
