Thanks Almog / Victoria for help.
Hi Team,
Just wanted to tell you that our upgrade activity was successful. We came across 2 problems(which were actually missed from our side only :) ) and solved it so just wanted to share those along with upgrade steps with the community.
Steps of "In-Place" upgrade :-
1. Download the latest confluent version.
2. Set it up with all required configs. In our case we mostly copied all configs from the current version(which is running) to the new version.
3. Take Backup and then copy all UDF JAR to new version .(OPTIONAL STEP In case you don't have any UDF).
4. Stop ksqlDB process of current version(5.5 in our case) and start newer version(6 in our case) with latest KsqlDB config file which you created in step2.
5. KsqlDB will start executing queries and rebuild all states using command topic because the value of "
ksql.service.id" is the same.
6. Now KsqlDB with the latest version is up and running.
Issues which we faced :-
1. We have made some UDFs like ARRAY_EXCEPT , ARRAY_LENGTH , ARRAY_REMOVE etc since they were not available with Confluent KsqlDB 5.5 so when we started newer version, it was giving an error saying "KsqlException: UdfFactory not compatible with existing factory. function: ARRAY_EXCEPT existing". This error was because Confluent KsqlDB 6 has these functions as in built so it was creating conflict with our UDF functions. So to solve this we created a new udf jar by eliminating those inbuilt functions and so KsqlDB was up and running.
2. We have made few environment variables and alias in "~/.bashrc" file which were still pointing to older KsqlDB version so we logged in to ksql console from command line, it wasn't able to execute "describe" command since ksql cli console was pointing to older version(5.5) and ksqlDB server process was of newer version (confluent 6) so this was creating conflict. So to solve this we made changes in environment variables and aliases in "~/.bashrc" file so now ksql cli was also of a newer version.