Qorus Integration Engine
3.0.4.p7
|
back to Release Notes
Issues Fixed
Bug ID | Severity | Description | Change |
557 | NORMAL | error raised in asynchronous workflow's attach function causes a database constraint violation in the system schema | fixed in Qorus |
556 | CRITICAL | the new streaming LOB write APIs introduced in 2.7.0.p5 are sometimes including the trailing NULL in CLOB data, and sometimes not | fixed in the oracle driver |
Issues Fixed
Bug ID | Severity | Description | Change |
555 | MAJOR | a race condition in qore library static destruction can cause a crash when a background thread calls exit() | fixed in the qore library |
554 | CRITICAL | *LOB values cannot be stored in an Oracle DB when the client is SPARC Solaris and the *LOB value is very large (32MB or larger approximately) | fixed in the Oracle driver |
553 | MAJOR | an error setting the Program context when merging user module code to a Program object can cause a crash if the user module code has parse errors | fixed in the qore library |
552 | MAJOR | the internal buffer size for the File class is too small for reading files efficiently | fixed in the qore library |
551 | MAJOR | there is a dynamic memory leak in Program destruction if the Program contains constants that contain call references | fixed in the qore library |
550 | MINOR | a race condition managing startup and shutdown can cause either 1 and 2 spurious exceptions to be thrown if the system is shutdown while starting up | fixed in Qorus |
Issues Fixed
Bug ID | Severity | Description | Change |
549 | MAJOR | the qore library is not rounding arbitrary-precision numeric values correctly for display when the last significant digit is just to the right of the decimal point | fixed in the qore library |
548 | CRITICAL | the oracle driver is not returning number values correctly in some cases | fixed in the oracle module |
547 | MAJOR | when using an expression with an operator that has side effects as the direct argument of the background operator with local variable arguments, a crash results | fixed in the qore library |
546 | NORMAL | autostarting services happens in one single thread, so a service that is autostarted and takes a long time to start will block other services from starting | fixed in Qorus |
545 | CRITICAL | a system deadlock can happen if a service returns objects and then the service is reset while an object returned by the service attempts to make service calls | fixed in Qorus |
544 | MAJOR | trying to delete or reset a service from within a service results in a deadlock | fixed in Qorus |
Qorus 2.7.0.p3 is a bugfix release to 2.7.0.p2 and includes new features to make programming easier and to make interface development easier.
"%perl-bool-eval"
default boolean evaluation mode and many iterator improvements, including the new CsvUtil module implementing the CsvUtil::CsvFileIterator class."string-numbers"
option on all datasources that support the optionIssues Fixed
Bug ID | Severity | Description | Change |
543 | MAJOR | the qore library can crash when destroying a Program object due to a race condition in removing signal handlers managed by the Program object | fixed in the qore library |
542 | NORMAL | qore does not catch errors when namespaces are declared both public and not public in user modules which can result in entire namespaces being silently not exported from user modules | fixed in the qore library |
541 | NORMAL | if an init() closure is defined in a user module then the module cannot be loaded due to a bug in the module loading code | fixed in the qore library |
540 | CRITICAL | an error in managing private namespace pointers in function entries when merging function lists in namespaces at parse time can cause a crash | fixed in the qore library |
539 | MINOR | calling getWorkflowInstanceData() with the "starttime" key does not work | fixed in Qorus |
538 | NORMAL | failure to clear the top-level flag when initializing statements can cause a crash with out-of-order parse initialization and top-level statements | fixed in the qore library |
537 | MINOR | client library APIs QorusClientAPI::createWorkflowInstanceID() and QorusClientAPI::createWorkflowInstanceName() do not work | fixed in Qorus |
Qorus 2.7.0.p2 is a bugfix release to 2.7.0.p1.
"number"
data type for arbitrary-precision numeric support. The MPFR and GMP libraries provide the underlying implementation."oracle"
, "pgsql"
, and "mysql"
drivers were updated to support Qore's new "number"
type for retrieving NUMBER
(ie NUMERIC
, DECIMAL
) data instead of strings, or an integer if possible (if the NUMBER
value fits in an integer, then it is retrieved as an integer). These drivers also support the following options to control how numbers are retrieved:"string-numbers"
: can be set for backwards-compatibility"optimial-numbers"
: the new default: return numbers as integers or "number"
values"numeric-numbers"
: always return NUMBER
values as arbitrary-precision numeric values*
) or a range in the format "/
number", which means that the job should run every number units (ie minutes, hours, days, etc) in the range.Bug ID | Severity | Description | Change |
536 | NORMAL | the qore library does not handle nested %ifdef and/or %ifndef directives with internal %else statements properly | fixed in the qore library |
535 | NORMAL | qore's "split" function and pseudo-method when used with a quote string does not return a value when the separator string is not found and the single field is also not quoted | fixed in the qore library |
534 | NORMAL | the Qore library does not always handle SSL socket I/O correctly with non-blocking operations when an SSL renegotiation is required | fixed in the qore library |
533 | MAJOR | the Qore library does not support non-blocking-I/O and timeouts on send operations | fixed in the qore library |
532 | CRITICAL | the Qore library does not handle read timeouts with non-blocking-I/O on sockets correctly | fixed in the qore library |
531 | NORMAL | an error in a regular expression in the HttpServer::addListeners() method causes the omq.system.start-listeners() method to fail | fixed in the HttpServer user module |
530 | MINOR | ojview -f does not work with a job name argument | fixed in ojview |
529 | NORMAL | the jobs.minute field is only 80 bytes wide and schedule fields do not take x/y format values, so a job scheduled every 2 minutes cannot be configured | fixed in Qorus |
528 | MINOR | the error message when trying to acquire (ie start working on) a workflow order is incorrect in some cases if the workflow is cached (ex: status is incorrect) | fixed in Qorus |
527 | MINOR | there are bugs calculating the byte offset for string searches in the index() and rindex() functions when the offset is negative and the strings have a multi-byte character encoding (such as UTF-8) | fixed in the qore library |
526 | MAJOR | key-based connections with the ssh2 module fail silently if the private key or public key file is not readable | fixed in the ssh2 module |
525 | NORMAL | calling an abstract method from the class where the abstract method is implemented will cause a parse error, however it should not | fixed in the qore library |
524 | NORMAL | Qorus becomes unresponsive when the thread table is full | fixed in the HttpServer user module |
523 | MAJOR | the number of concurrent threads a service can spawn is not limited and a Qorus service can therefore fill up the thread table if it spawns too many threads that do not terminate | fixed in Qorus; added the max-service-threads option |
Issues Fixed
Bug ID | Severity | Description | Change |
522 | CRITICAL | a race condition handling reference counting/atomicity bug with global variables can cause a crash | fixed in the qore library |
521 | CRITICAL | errors in transaction handling with system auditing can cause a deadlock with a very busy/loaded system | fixed in Qorus |
520 | MINOR | schema-tool ignores the "enabled" property when updating RBAC access groups although it reports that the operation was executed | fixed in schema-tool |
519 | MINOR | the setOrderKeys() workflow API function does not give an understandable error message when a key value is not convertible to a string | fixed in Qorus |
518 | MINOR | calling SQLStatement::fetchRow() before calling SQLStatement::next() results in invalid data being returned from the oracle driver | fixed in the qore library |
517 | MINOR | the MailMessage module is encoding mail headers that do not need encoding and is not encoding mail headers that do need encoding | fixed in the MailMessage user module |
516 | MINOR | the MailMessage module is encoding "_" characters incorrectly in mail headers; email addresses cannot be displayed properly in messages sent from the SmtpClient module | fixed in the MailMessage user module |
515 | MINOR | system service method omqmap.dumpMap does not work with the "systemserviceids" and "userserviceids" maps | fixed in the system.omqmap service |
514 | NORMAL | get_call_context() is not returning call information when called externally | fixed in Qorus |
513 | CRITICAL | the SQLStatement class deallocates the a connection after execution when created with a DatasourcePool object and the associated commit then does not commit the transaction on the correct Datasource | fixed in the qore library |
512 | MAJOR | an exception in deleting instance data causes a deadlock in Qorus | fixed in Qorus |
Qorus 2.7.0 is a minor release over the Qorus 2.6.3 branch, however bringing major new features to the Qorus platform. It is based on the Qore 0.8.5 library, which contains major new features over previous versions of Qore as well.
WORKFLOW_FEEDBACK
USER_STORAGE
-L,–limit=ARG
to set a custom limit for the number of workflows displayed in oviewUSER_STORAGE
WORKFLOW_FEEDBACK
Bug ID | Severity | Description | Change |
511 | NORMAL | deleteDynamicDataKey() does not work when a list is passed | fixed in Qorus |
510 | CRITICAL | excessive serialization on certain workflow order actions within a workflow type leads to lack of scalability when multiple execution instances are started of the same type | fixed in Qorus |
509 | NORMAL | the modified date is set incorrectly in the archive schema due to an error in triggers on oracle only | fixed in Qorus |
508 | MAJOR | workflow orders with event steps cannot be archived properly | fixed in the system.arch service |
507 | CRITICAL | the qore library does not always differentiate between a pointer to NOTHING and a valid type pointer with "or nothing" types (ie *hash, *list, etc) which can result in a crash | fixed in the qore library |
506 | NORMAL | a step's COMPLETED timestamp is not set with the real date/time that the step is completed | fixed in Qorus |
505 | MAJOR | the Oracle PL/SQL API was missing in the schema file for the 2.6.3.p42 release | fixed in Qorus |
504 | NORMAL | omq.system.get-workflow-options() does not work when additional arguments are passed giving the option names | fixed in Qorus |
503 | TRIVIAL | omq.system.set-workflow-option() does not delete options when an option value is set to NOTHING, making it more difficult for programs using the API to see when an option is set or not | fixed in Qorus |
502 | TRIVIAL | when a workflow order creation action fails, the arguments are not logged | fixed in Qorus |
501 | NORMAL | an error handling thread-local variables with global scope means that only the first such variable can be used outside the top-level block | fixed in the qore library |
500 | MAJOR | too-aggressive parse-time variant matching regarding the "object" type can cause runtime errors | fixed in the qore library |