-
Notifications
You must be signed in to change notification settings - Fork 11
/
ChangeLog
544 lines (451 loc) · 23.2 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
LOG:
2022-12-10 1.9.5 Documentation only minor improvements (COBOL example, README)
2020-11-03 1.9.4 Fixed a bug in configure.ac related to --disable-xta-cpp flag
(it prevented the build of some Docker images)
2020-11-01 1.9.3 Fixed https://github.com/tiian/lixa/issues/7
Fixed https://github.com/tiian/lixa/issues/6
Activated GitHub CodeQL to sanitize the code from common
security issues.
Support for CentOS 8, Ubuntu 20.04, MySQL 8.0
2020-09-19 1.9.2 Fixed a build issue related to Debian 10.3 and MariaDB client
instead of MySQL client. The issue didn't allow the build of
some Docker images https://hub.docker.com/u/lixa
2020-09-09 1.9.1 Added a new environment variable LIXA_STACK_TRACE to activate
stack tracing: use it in production environments that can not
tolerate standard tracing due to the too big number of
produced messages. Use
export LIXA_STACK_TRACE=ERRORS
to stack trace error conditions; use
export LIXA_STACK_TRACE=WARNINGS
to stack trace error and warning conditions; use
export LIXA_STACK_TRACE=ALL
to stack trace most of function calls (NOTE: not suggested, it
can create a huge number of trace records).
Use stack trace feature as an early tool in troubleshooting;
it can even be used with an Elastic (ELK) stack to catch
anomalous conditions in real time.
Reduced restart time for LIXA state server restart when using
journal state engine.
2020-07-20 1.9.0 Added new state engine for the state server (lixad)
Set a new environment variable to choose the state engine
export LIXA_STATE_ENGINE=TRADITIONAL
for the traditional state engine (default),
export LIXA_STATE_ENGINE=JOURNAL
for the new journal based state engine.
New capabilities of the state engine:
- RPO=0 in the event of lixad crash, for any reason, but
Linux operating system survival (this new behaviour
eliminate most of the un-necessary rollback/commit during
the recovery phase and
requested by the traditional state server to the
applications due to the lack of the last data)
- lower latency in comparison with the traditional state
engine (the slower the storage, the higher the improvement)
New parameter "-C" / "--bench-cycles" in utility lixat; new
"transaction per seconds" statistic; new format for all the
statistics.
2019-05-12 1.7.8 Added (client) connection timeout; default value = 5000 ms
A new error message (LXC034E) is sent to the syslog in the
event that the client doesn't get a reply before timeout
expiration. The previous behaviour can be obtained setting a
new environment variable:
export LIXA_CLIENT_CONNECTION_TIMEOUT=-1
A shorter timeout can be set as well:
export LIXA_CLIENT_CONNECTION_TIMEOUT=1000
In the event of timeout, the socket is immediately closed and
it can't re-used to guarantee consistency.
New getConnectionTimeout() and setConnectionTimeout() methods.
XID serialization for PostgreSQL has been changed from native
LIXA (formatID.Hex(gtrid).Hex(bqual)) to the same used by
PostgreSQL's JDBC driver (formatID_Base64(gtrid)_Base64(bqual))
Fixed some errors in return codes of MySQL and PostgreSQL
LIXA adapters.
Implemented a workaround to mitigate a MySQL bug that LIXA
exploited during autorecovery of prepared transactions
https://bugs.mysql.com/bug.php?id=87836
Introduced method TransactionManager.delete() in XTA for Java
to force TCP/IP socket close before Java garbage collection
execution.
Fixed a bug in XTA: the client TCP connection was not
explicitly closed by xta_transaction_delete.
2019-04-07 1.7.7 Documentation fix
2019-03-22 1.7.6 Fixed a bug related to xta_transaction_start() issued multiple
times on an object used for multiple branches transaction.
Fixed a bug related to XTA multiple branches pseudo synchronous
pattern when the subordinate gets an error during "prepare".
Fixed a bug related LIXA_XAER_HAZARD: this is a strange
condition for XA standard, but it's exploited by an old
JDBC driver for PostgreSQL.
*** WARNING: ***
This release is *NOT* compatible with previous ones: you can't
mix 1.7.6 and previous versions in the same environment
(message LXC030E will be logged in the event of level
mismatch); LIXA_MSG_LEVEL=4.
2019-02-23 1.7.5 Docker images for LIXA (XTA for Java)
Fixed a build bug related to tests/src/java directory
2019-02-09 1.7.4 Docker image for LIXA client (command line utilities)
Added environment variable LIXA_STATE_SERVERS
2019-02-03 1.7.3 Docker image for LIXA state server: lixad
New build options, dedicated to disable single components and
syslog: they are useful to produce Docker images.
--disable-syslog build option can be used to have messages on
stderr instead of sending them to system logger.
2019-01-20 1.7.2 Java API for XTA
These functions/methods are now deprecated because useless:
- xta_transaction_open
- xta_transaction_close
they will be removed in the near future.
Renamed to lowercase C++ API methods
Removed xta::Transaction.Open
Removed xta::Transaction.Close
Renamed to lowercase Python API methods
Removed Transaction.Open
Removed Transaction.Close
*** WARNING: ***
This release breaks compatibility with previous versions of
C++ and Python XTA API: the first char of the method names
must be changed from Uppercase to lowercase
*** WARNING: ***
This release is *NOT* compatible with previous ones: you can't
mix 1.7.2 and previous versions in the same environment
(message LXC030E will be logged in the event of level
mismatch); LIXA_MSG_LEVEL=3.
*** NOTE: ***
This release uses function get_native_connection() instead of
_get_native_connection() as it's provided by psycopg2 2.8
(next release, already in git master tree)
2018-10-28 1.7.1 Python API for XTA
Both Python 2 and Python 3 can be used with XTA for Python.
Examples in doc/examples/xta/python tested with:
- Ubuntu 14.04
- MySQL 5.5.61
- PostgreSQL 9.3.24
- Python2 2.7.6
- Python3 3.4.3
- RHEL 7.5
- MariaDB 5.5.60
- PostgreSQL 9.2.4
- Python2 2.7.5
2018-09-17 1.7.0 C++ API for XTA
2018-05-27 1.6.0 First stable official version of XTA XA Transaction API
This release is *NOT* compatible with previous ones: you can't
mix 1.6.0 and previous versions in the same environment
(message LXC030E will be logged in the event of level
mismatch); LIXA_MSG_LEVEL=2.
Fixed a bug related to XTA, multiple applications, concurrent
branches in the event of state server crash during two phase
commit.
Removed persistency synchronization after xa_start: this
optimization halves the number of syncs and probably reduces
the latency introduced by LIXA.i
*** WARNING: *** in the event of transactional inconsistencies
please open an issue on GitHub
https://github.com/tiian/lixa/issues
20180413 - 1.5.3 XTA documentation: a dedicated chapter has been added in the
official LIXA manual
20180304 - 1.5.2 XTA support for concurrent branches
This release is *NOT* compatible with previous ones: you can't
mix 1.5.2 and previous versions in the same environment
(message LXC030E will be logged in the event of level
mismatch)
20171010 - 1.5.1 XTA support for "Suspend/Resume" pattern
20170921 - 1.5.0 Release of XTA API (XA Transaction API)
Change of client linkable code (libraries) to LGPL 2.1
20170918 - 1.3.4 Globetom accepts that the license of all LIXA client
code (currently located in directories src/client,
src/common, src/xta) will change to LGPL 2.1.
20170318 - 1.3.4 LIXA Very Stupid Robot (lixavsr) additional use cases:
- branch for MySQL database
- branch for PostgreSQL database
- branch for MySQL & PostgreSQL, MySQL & Oracle DB,
PostgreSQL & Oracle DB
20170311 - 1.3.3 LIXA Very Stupid Robot (lixavsr) utility release
20170303 - 1.3.2 Merge of code provided by Globetom in the master tree;
support for Transaction Coupling TX feature.
*** Dropped support for old glib2 versions: ***
minimum version is now 2.32 (don't upgrade to this LIXA version
if you are running a glib2 version that's older than 2.32).
Alternatively, you can install your own copy of glib2 from
sources.
These Linux versions are no more tested:
- Ubuntu 10.04
- CentOS 6.x
because they provide a default version for glib2 that's below
2.32
20170124 - 1.3.1 added more non-standard tx_ interfaces for suspending and
resuming global transactions
20161117 - 1.3.0 made interface changes to allow clients to join an existing
global transaction exposed internal lixa_tx methods to work
with XID on the tx_ interface implemented test cases XID/2.0
Still to write tests for the changes to join transactions,
but is tested in external program
20170121 - 1.1.1 Support for Oracle Pro*C and Oracle Pro*COBOL
Pro*C config:
Red Hat Enterprise Linux 7.3
Oracle Instant Client 12.1
Pro*COBOL config:
Ubuntu LTS 14.04
Gnu COBOL 1.1 (as supplied by Ubuntu 14.04)
Oracle Instant Client 12.1
20170108 - 1.1.0 Initial support for GNU Cobol:
Ubuntu 14.04
GNU Cobol 1.1 (as supplied by Ubuntu 14.04)
PostgreSQL 9.3 (as supplied by Ubuntu 14.04)
20160801 - 1.0.1 license addendum
20160526 - 1.0.0 end of beta program, the software can be considered production
ready; license special exception for:
Globetom Holdings (Pty) Ltd
92 Regency Drive
Route 21 Corporate Park
Nellmapius Drive
Centurion
South Africa
20160504 - 0.9.4 fix of an internal bug related to MySQL bug # 12161
http://bugs.mysql.com/bug.php?id=12161
20160412 - 0.9.3 build procedure has been fixed for some different Linux
systems (take a look to TestLog file)
A severe bug related to MySQL wrapper has been fixed
Some documentation improvements has been added
20120524 - 0.9.2 changed PHP patching technique: there's no more a distinct
patch for every PHP release, but a list of patches that are
tryed starting with the newest one
20120430 - 0.9.1 integration with PHP driver PostgreSQL; upgrade of PHP
integration from PHP 5.4.0 to PHP 5.4.1
20120421 - 0.9.0 PHP: integration of PHP for MySQL (mysqli driver only)
Fixed bug # 3517316
20120331 - 0.7.4 Fixed bug # 3512953
20120321 - 0.7.3 Switch files are now loaded using G_MODULE_BIND_LAZY: it might
save some CPU cycle
New program utility: lixa-config
WebSphere MQ 7.1 was tested using CentOS 6.2 (32 bit)
20120209 - 0.7.2 Introduced two new parameters in lixad_conf.xml:
min_elapsed_sync_time
max_elapsed_sync_time
please refer to manual for usage description
Introduced TCP_NODELAY socket option to reduce latency in
client/server message passing
Fixed permissions for file /opt/lixa/var/run.pid (they was
rw-rw-rw-; fixed to rw-r--r--)
Removed a memory leak in lixa_xa_end() function called by
tx_commit()
Fixed a bug in lixa_job_reset function (minor defect)
20120110 - 0.7.1 fixed bug 3470598
Serialization of XID format id changed from hexadecimal
(4c495841) to decimal (1279875137) to deal with the negative
value (-1) of NULL XID and mixed 32/64 bit environments
(ffffffff is not equal to -1 for a x86-64 Linux)
20120103 - 0.7.0 First beta release
20111128 - 0.5.35 Intel/AMD 64 bit architecture passed test phase
20111113 - 0.5.34 a switch file for MySQL is now available
the package supplies some examples that show how LIXA can
be used in conjunction with MySQL, PostgreSQL, Oracle and
DB2 performing DTP
20110927 - 0.5.33 library liblixabmt was renamed to liblixab
library liblixacmt was renamed to liblixac
a switch file for PostgreSQL is now available
the package supplies some examples that show how LIXA can
be used in conjunction with PostgreSQL, Oracle and DB2
performing distributed transaction processing
20110504 - 0.5.32 the package supplies an example that shows how LIXA can
be used in conjunction with Oracle Database Server and IBM
DB2, performing a real distributed transaction
20110426 - 0.5.31 the package supplies an example that shows how LIXA can
be used in conjunction with IBM DB2
20110419 - 0.5.30 the package supplies an example that shows how LIXA can
be used in conjunction with Oracle Database Server
20110401 - 0.5.29 "make install" installs the HTML version of the manual in
the standard doc directory
"make dist" injects the HTML version of the manual in the
package
utility "lixat" (LIXA test) has been added
20110228 - 0.5.28 changed "trnmgr" with "sttsrv" and "trnmgrs" with "sttsrvs"
in the lixac_conf.xml file; the previous name was
misleading because the LIXA server is not a transaction
manager but it only persists the state of the transaction
managers (embedded in liblixac)
20110130 - 0.5.27 fixed bug # 3166737
NOTE: the client/server communication protocol was changed:
this change breaks backward compatibility
20110120 - 0.5.26 fixed bug # 3160058
20110108 - 0.5.25 fixed bug # 3147263
fixed bug # 3152044
fixed bug # 3152633
20101223 - 0.5.24 the client side code (lixac) passed valgrind memory leak
the server side code (lixad) passed valgring memory leak
20101124 - 0.5.23 fixed bug # 3110744
20101122 - 0.5.22 fixed bug # 3110828
20101103 - 0.5.21 fixed bug # 3102459
20100925 - 0.5.20 implemented test cases XA/5.52/*.*
implemented test case MT/1.0/0.*
fixed bug # 3074315
20100911 - 0.5.19 implemented test cases XA/5.49/*.*
fixed bug # 3063897
20100819 - 0.5.18 implemented test cases XA/5.47/0.*
fixed bug # 3045668
20100728 - 0.5.17 implemented test cases XA/5.32/*.*
implemented test cases XA/5.37/*.*
implemented test cases XA/5.40/*.*
implemented test cases XA/5.42/*.*
implemented test cases XA/5.44/*.*
fixed bugs # 3034270, # 3035528
20100703 - 0.5.16 implemented test cases XA/5.26/0.*
fixed bugs # 3021563, # 3021831, # 3021839, # 3024015
implemented test cases XA/5.30/0.*
implemented test cases XA/5.30/1.*
20100623 - 0.5.15 implemented test cases TX/5.19/0.*
fixed bug # 3019248
Alpha test first milestone reached: LIXA implementation is
compliant with the "Distributed Transaction Processing:
The TX (Transaction Demarcation) Specification"
(X/Open CAE Specification)
20100621 - 0.5.14 implemented test cases TX/B.5/9.*
fixed bugs # 3018480, # 3018764
20100618 - 0.5.13 implemented test cases TX/B.5/8.*
fixed bug # 3013661
20100608 - 0.5.12 implemented test cases TX/B.5/0.*
implemented test cases TX/B.5/1.*
implemented test cases TX/B.5/2.*
implemented test cases TX/B.5/3.*
implemented test cases TX/B.5/4.*
implemented test cases TX/B.5/5.*
implemented test cases TX/B.5/6.*
implemented test cases TX/B.5/7.*
fixed bugs # 3012496, # 3013093, # 3013110
20100603 - 0.5.11 implemented test cases TX/B.4/0.*
implemented test cases TX/B.4/1.*
implemented test cases TX/B.4/2.*
implemented test cases TX/B.4/3.*
implemented test cases TX/B.4/4.*
implemented test cases TX/B.4/5.* and fixed bug # 3010322
implemented test cases TX/B.4/6.*
implemented test cases TX/B.4/7.* and fixed bug # 3010638
optimized recovery pending detection when xa_start()
does not complete OK
20100531 - 0.5.10 implemented test case TX/B.2/0.0
implemented test case TX/B.2/0.1
implemented test case TX/B.2/0.2
implemented test case TX/B.2/0.3
implemented test case TX/B.2/0.4
implemented test case TX/B.2/1.0
implemented test case TX/B.2/1.1
optimized one phase commit behavior with dynamically
registered resource managers
fixed bug # 3009182
20100530 - 0.5.9 implemented test case TX/7.52/0.0
implemented test case TX/7.52/0.1
implemented test case TX/7.52/1.0
implemented test case TX/7.52/1.1
implemented test case TX/7.52/2.0
implemented test case TX/7.52/2.1
implemented test case TX/7.52/3.0
implemented test case TX/7.52/3.1
implemented test case TX/7.52/3.2
implemented test case TX/7.52/3.3 and fixed bug # 3008872
implemented test case TX/7.52/3.4
implemented test case TX/7.52/3.6
implemented test case TX/7.52/3.7
implemented test case TX/7.52/4.0
implemented test case TX/7.52/4.1
implemented test case TX/7.52/4.2
implemented test case TX/7.52/4.3
implemented test case TX/7.52/5.0
implemented test case TX/7.52/5.1
implemented test case TX/7.52/5.2
implemented test case TX/7.52/5.3
implemented test case TX/7.52/5.4
implemented test case TX/7.52/5.5
implemented test case TX/7.52/5.6
implemented test case TX/7.52/5.7
implemented test case TX/7.52/6.0
implemented test case TX/7.52/6.1
implemented test case TX/7.52/6.2
implemented test case TX/7.52/6.3
removed a false recovery pending condition when a
transaction ends with TX_MIXED/TX_HAZARD and TX_CHAINED is in
effect
20100528 - 0.5.8 implemented test case TX/5.27/0.0
implemented test case TX/5.27/0.1
implemented test case TX/5.27/0.2
implemented test case TX/5.27/0.3
implemented test case TX/5.27/0.4
implemented test case TX/5.27/0.5
implemented test case TX/5.27/0.6
implemented test case TX/5.27/0.7
fixed bug # 3008437
20100527 - 0.5.7 implemented test case TX/5.25/0.0
implemented test case TX/5.26/0.0 and fixed bug # 3007267
implemented test case TX/5.26/0.1 and fixed bug # 3007402
implemented test case TX/5.26/0.2
implemented test case TX/5.26/0.3 and fixed bug # 3007816
20100525 - 0.5.6 implemented test case TX/5.23/0.0
implemented test case TX/5.23/0.1 and fixed bug # 3006838
implemented test case TX/5.23/0.2
implemented test case TX/5.23/0.3
implemented test case TX/5.23/0.4
implemented test case TX/5.23/0.5
implemented test case TX/5.23/0.6
implemented test case TX/5.23/0.7
20100524 - 0.5.5 implemented test case TX/5.22/0.0
implemented test case TX/5.22/0.1 and fixed bug # 3006369
implemented test case TX/5.22/0.2
20100523 - 0.5.4 implemented test case TX/5.20/0.0 and fixed bug # 3004280
implemented test case TX/5.20/0.1 and fixed bug # 3004280
implemented test case TX/5.20/0.2 and fixed bug # 3004280
implemented test case TX/5.20/0.3 and fixed bug # 3004280
implemented test case TX/5.20/0.4 and fixed bug # 3004280
implemented test case TX/5.20/0.5 and fixed bug # 3004280
implemented test case TX/5.20/0.6 and fixed bug # 3004280
implemented test case TX/5.20/0.7 and fixed bug # 3004280
20100519 - 0.5.3 implemented test case TX/3.5/0.0
implemented test case TX/3.5/1.0
implemented test case TX/3.6/0.0
implemented test case TX/4.2/0.0 and fixed bug # 3003629
20100516 - 0.5.2 implemented test case TX/3.3.1/0.0
implemented test case TX/3.3.1/0.1
implemented test case TX/3.3.1/1.0 and fixed bug # 3002478
implemented test case TX/3.3.1/1.1 and fixed bug # 3002478
implemented test case TX/3.3.1/2.0
implemented test case TX/3.3.1/2.1
implemented test case TX/3.4/0.0
20100515 - 0.5.1 implemented test case TX/3.2/0.0 and fixed bug # 3002125
implemented test case TX/3.2/1.0
implemented test case TX/3.3/0.0
implemented test case TX/3.3/1.0
implemented test case TX/3.3/1.1
implemented test case TX/3.3/2.0 and fixed bug # 3002128
implemented test case TX/3.3/2.1 and fixed bug # 3002128
implemented test case TX/3.3/2.2
20100514 - 0.5.0 fixed bugs # 2998604, # 2983464
maintenance mode ("-m") for lixad is now available
dump specific records ("--dump=[ufs]") instead of all the
content
implemented rfnf # 2958992 ("-t --trace-file")
20100507 - 0.3.16 fixed bugs # 2944441, # 2978075
partially implemented rfnf 2963164
20100501 - 0.3.15 implemented test case infrastructure
implemented monkey test resource manager
fixed bug # 2943356 (heuristically completed transactions
support)
20100421 - 0.3.14 implemented rfnf # 2980750
fixed a bug related to dynamic registration: it created
in-doubt transaction in normal situations (!)
20100420 - 0.3.13 fixed bug # 2913849
implemented and partially tested dynamic registration for
IBM DB2; implemented but not tested dynamic registration for
Oracle
20100411 - 0.3.12 fixed bugs # 2984162, # 2984162
20100409 - 0.3.11 fixed bug # 2907563
20100303 - 0.3.10 implemented feature # 2961552 (status file dump)
20100208 - 0.3.9 fixed bugs # 2907562, # 2907545
20100131 - 0.3.8 bug # 2907548 fix
20100129 - 0.3.7 removed "Oracle's cdemo81 sample and its cdemo81_lixa derivated
sample: no more intellectual property possible issues..."
20100128 - 0.3.6 bug # 2907542 fix
20100101 - 0.3.5 bug # 2907537 fix
20091212 - 0.3.4 bug # 2912287 fix
20091210 - 0.3.3 bug # 2907554 fix
bug # 2907552 fix
20091208 - 0.3.2 bug # 2909089 fix
20091202 - 0.3.0 release; all "tx_" functions are available, many are dummies
20090330 - 0.1.0 first very early release, the daemon compiles and run, but is
useless