Currently a user can not use Spring Cloud Task using the p-mysql nor MySql for PCF because they do not include the MyISAM Engine.
Background: In order to create a sequence number, Spring Cloud Task uses the MySQLMaxValueIncrementer which requires a sequence table to be created. Based on the documentation provided we must set the engine to MYISAM. This is so that sequences can be allocated without regard to transactions. Docs can be found here: "http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/support/incrementer/MySQLMaxValueIncrementer.html"
Problem: Based on the commit here: cloudfoundry/cf-mysql-release@e6100e7
MySQL PCF does not include the MYISAM engine. This is because the Galera plugin does not support the replication of MYISAM tables. https://docs.pivotal.io/p-mysql/1-8/known-issues.html#myisam
With this we have 3 options:
Reproducible on pcfdev-v0.23.0 and the current implementation on PWS.
This will also affect Spring Batch.
Just checked the schema for batch. it uses InnoDB. i.e. https://github.com/spring-projects/spring-batch/blob/master/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql#L83
Should we just convert to that? Especially since MYISAM tables can't be replicated across the cluster
Can we track down what version of the tile made this change? Honestly, this is a pretty big breaking change not just for SCDF, but all users of the mysql tile.
Change Engine for sequence to InnoDB
I've created an issue in Spring Framework to allow us to use non MYISAM tables for the sequence table. Issue is here: https://jira.spring.io/browse/SPR-15107 and PR: spring-projects/spring-framework#1286