GT.M base version for YottaDB

61 views
Skip to first unread message

Jens Lideström

unread,
Nov 16, 2022, 8:14:07 AM11/16/22
to
This question is really for the YottaDB team, but they seem to watch this group, and the answer might be of interest to other, so I post here.

Looking at the YottaDB release notes I see that the latest release, r1.34, includes this text:

> YottaDB r1.34 also inherits enhancements and fixes from GT.M V6.3-011.

https://gitlab.com/YottaDB/DB/YDB/-/releases/r1.34

The latest FIS GT.M release however is V7.0-004 and version is from December 2019.

http://tinco.pair.com/bhaskar/gtm/doc/articles/

Hence my questions to the YottaDB team:

Will YottaDB continue to incorporate updates in FIS GT.M for recent versions?

If we switch from GT.M to YottaDB r1.34 instead of upgrading to GT.M V7.0-004, will we miss out on some features and fixes in recent versions of GT.M?

Our choice whether to stay on GT.M or switch to YottaDB becomes much harder if YottaDB features is not a strict superset of those of GT.M.

Regards,
Jens Lideström

K.S. Bhaskar

unread,
Nov 16, 2022, 2:16:28 PM11/16/22
to
Jens, our intent is to stay compatible with the upstream GT.M code base. Slide 10 from https://yottadb.com/wp-content/uploads/2021/11/211005-1bYottaDBUpdate.pdf shows our process.

- Whenever a new GT.M version is released, we merge the code base with our GT.M branch at https://gitlab.com/YottaDB/DB/YDB/-/tree/fis-gtm
- Since the GT.M team does not release their automated tests and does not tie code changes to items in the release notes, and since we cannot always understand why certain code changes were made, we create our own automated tests (like all of our software, these are also developed in the open, at https://gitlab.com/YottaDB/DB/YDBTest). As and when we find issues in the upstream code base, we document them and fix them (https://gitlab.com/YottaDB/DB/YDB/-/issues/?sort=created_asc&state=closed&label_name%5B%5D=upstream%20issue&first_page_size=20 is a list of issues we have tagged as upstream issues and fixed).
- When we are satisfied with the testing and have resolved merge conflicts, we merge that GT.M version into the master branch of YottaDB. So, YottaDB r1.34 had GT.M V.3-011 merged into it, and YottaDB r1.36 (to be released soon) will have V6.3-012, -013, and -014 merged into it.

So, while our intent is to stay compatible, we follow a "safe" distance behind when merging GT.M code. Of course, along the way, beyond fixes to issues in GT.M, our goal is for YottaDB to do much more than just be a downstream version of GT.M. We have created native APIs for other languages (https://docs.yottadb.com/MultiLangProgGuide/) so that they can benefit from an M database, as well as numerous other enhancements (https://gitlab.com/YottaDB/DB/YDB/-/issues/?sort=updated_desc&state=closed&label_name%5B%5D=enhancement&first_page_size=20). We added support for ARM architectures (both 32- and 64-bit versions), for those want better power to performance ratios than the x66_64 architecture.

From it's earliest version, our web site at https://yottadb.com/use-cases/gt-m-compatibility/ says: Except for items identified in the release notes, if you are a YottaDB support customer and you encounter a backward compatibility issue with a YottaDB release, either with respect to its predecessor, or with respect to the GT.M version on which it is built, we will help you find a satisfactory workaround, or we will fix the issue in a new release of YottaDB.

Of course, if you have application code that relies on the presence of a GT.M bug fixed in YottaDB, or the absence of an enhancement we made in YottaDB, that application code will behave differently on YottaDB!

I have tried to answer all your questions. If I overlooked something, or you have further questions, please ask again.

Regards
– Bhaskar

Jens Lideström

unread,
Nov 17, 2022, 3:53:43 AM11/17/22
to
Thank you, Bhaskar!

Your answer makes this situation and the YottaDB policy much clearer.

/Jens
Reply all
Reply to author
Forward
0 new messages