smolnar82 commented on code in PR #826: URL: https://github.com/apache/knox/pull/826#discussion_r1473959716
########## gateway-server/src/main/java/org/apache/knox/gateway/services/token/impl/JDBCTokenStateService.java: ########## @@ -65,12 +76,33 @@ public void init(GatewayConfig config, Map<String, String> options) throws Servi } catch (Exception e) { throw new ServiceLifecycleException("Error while initiating JDBCTokenStateService: " + e, e); } + + this.skipTokenMigration = config.skipTokenMigration(); + this.archiveMigratedTokens = config.archiveMigratedTokens(); + this.migrateExpiredTokens = config.migrateExpiredTokens(); + this.verboseTokenMigration = config.printVerboseTokenMigrationMessages(); + this.tokenMigrationProgressCount = config.getTokenMigrationProgressCount(); } finally { initLock.unlock(); } } } + @Override + public void start() throws ServiceLifecycleException { + super.start(); + if (skipTokenMigration) { + log.skipTokenMigration(); + } else { + final TokenMigrationTool tokenMigrationTool = new TokenMigrationTool(aliasService, this, null); Review Comment: Yes, that was the final agreement with @lmccay on the [[DISCUSS]](https://lists.apache.org/thread/fs9nkl6l45o330ttvgvqxj3jnxt63bcs) thread about this change: ``` - the migration tool will be run automatically when the Knox Gateway starts, and it will run on the main thread (i.e. not in the background). - there will be a config to control this step: in case of an error/bug, this automated migration could be turned off ``` In the 2.1.0 release, we will add proper documentation on best practices about this change: the recommended way of upgrading to that version is to run the new KnoxCLI code before the upgraded Knox Gateway starts. If admins do that, this implicit step will finish in a matter of (milli)seconds during Knox Gateway startup. However, if they failed to do that before, we agreed that it's better to have tokens auto-migrated than leave them in the dark and guess why token authentication isn't working. I believe the detailed entries in `gateway.log` (see above in the description) make it crystal clear why the KG startup takes such time for the first time. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@knox.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org