Just updated MySQL Docker profile. Now it works fine and all tests pass. On Mon, Dec 19, 2016 at 11:22 AM, Nikita Timofeev <[email protected] > wrote:
> Hi all! > > I've run tests on Postgres and here what I've found. > > All failures of MergeCase.setUp: as I thought problem is with new > DataMapMerger (ex DbMerger): Postgres DB doesn't distinct DECIMAL and > NUMERIC data types > and fields like SOME_DECIMAL_FIELD DECIMAL(10, 2) end up as NUMERIC(10, 2) > type. And new merger try to fix types mismatch thus generating MergerToken > that shouldn't be there. > > Other failures is a result of DbLoader refactoring and after a quick look > at them I think their cause is that Postgres store all names in lowercase > (as opposite to almost all other DBs that store them in uppercase). > Hope to commit fixes soon. And clearly I need to run tests against Oracle > and SQLServer as there can be yet unknown problems too. > > On Sat, Dec 17, 2016 at 4:44 PM, Savva Kolbachev <[email protected]> > wrote: > > > I've added docker profiles for dbsync module. So now it works for both > > mysql and postgres, but there are a lot of failed tests for postgres in > > this module. > > > > Failed tests: > > AttributeLoaderIT.testAttributeLoad:46 null > > DbLoaderIT.testSimpleLoad:82 null > > ExportedKeyLoaderIT.testExportedKeyLoad:63 expected:<2> but was:<0> > > PrimaryKeyLoaderIT.testPrimaryKeyLoad:52 null > > SetAllowNullToDbIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > SetNotNullToDbIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > SetPrimaryKeyToDbIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > ValueForNullIT>MergeCase.setUp:99->MergeCase. > assertTokensAndExecute:216-> > > MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > DropRelationshipToModelIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > AddColumnToModelIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > CreateTableToModelIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > DropTableToModelIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > DropColumnToModelIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > DropColumnToModelIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > EntityMergeSupportIT>MergeCase.setUp:99->MergeCase. > > assertTokensAndExecute:216->MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > MergerFactoryIT>MergeCase.setUp:99->MergeCase. > assertTokensAndExecute:216-> > > MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > MergerFactoryIT>MergeCase.setUp:99->MergeCase. > assertTokensAndExecute:216-> > > MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > MergerFactoryIT>MergeCase.setUp:99->MergeCase. > assertTokensAndExecute:216-> > > MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > MergerFactoryIT>MergeCase.setUp:99->MergeCase. > assertTokensAndExecute:216-> > > MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > MergerFactoryIT>MergeCase.setUp:99->MergeCase. > assertTokensAndExecute:216-> > > MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > MergerFactoryIT>MergeCase.setUp:99->MergeCase. > assertTokensAndExecute:216-> > > MergeCase.assertTokens:210 > > tokens to db expected:<0> but was:<1> > > > > On Sat, Dec 17, 2016 at 4:04 PM, Savva Kolbachev <[email protected]> > > wrote: > > > > > > It didn't work on MacOS > > > It's known issue [1] that I thought we had discussed here [2] and > > private. > > > Anyway, it works fine on Linux. > > > > > > > MySQL failures are all expected - the exact same set we saw during > > > release testing. > > > IIRC, it could be easily fixed by setting db charset to utf8 general_ci > > > > > > > PostgreSQL failures are all new. Not sure what's up with those? > > > My experience tell me that there is a problem in configuration. Also, > we > > > should be sure that driver is set correctly. I'll check it localy. > > > > > > [1] https://github.com/fabric8io/docker-maven-plugin/issues/430 > > > [2] https://github.com/apache/cayenne/pull/111#issuecomment-248336617 > > > > > > On Sat, Dec 17, 2016 at 3:51 PM, Andrus Adamchik < > [email protected] > > > > > > wrote: > > > > > >> So I merged Travis/Docker support PR by @IRus [1]. > > >> > > >> It didn't work on MacOS: > > >> > > >> [INFO] --- docker-maven-plugin:0.15.6:start (start-postgres) @ > > >> cayenne-server --- > > >> [INFO] DOCKER> [postgres:9.5] "db": Start container bb8f98855916 > > >> [INFO] DOCKER> [postgres:9.5] "db": Waiting for ports [5432] directly > on > > >> container with IP (172.17.0.2). > > >> [ERROR] DOCKER> [postgres:9.5] "db": Timeout after 30229 ms while > > waiting > > >> on tcp port '[/172.17.0.2:5432]' > > >> [ERROR] DOCKER> Error occurred during container startup, shutting > > down... > > >> > > >> Could be something configuration-related, as container startup was > > >> actually successful. The tests just could not figure out correct > network > > >> connection. Need to debug this some more. > > >> > > >> It also failed on Travis [2]. But there are more reasons for optimism. > > >> All the failures are unit test failures that can either be fixed or > > >> disabled conditionally. The Docker setup itself works correctly, and > > this > > >> is a big step forward. MySQL failures are all expected - the exact > same > > set > > >> we saw during release testing. PostgreSQL failures are all new. Not > sure > > >> what's up with those? > > >> > > >> I disabled these 2 profiles on Travis for now. Should be easy to add > > them > > >> back [3]. > > >> > > >> Andrus > > >> > > >> > > >> [1] https://github.com/apache/cayenne/pull/152 > > >> [2] https://travis-ci.org/apache/cayenne/builds/184759909 > > >> [3] https://github.com/apache/cayenne/commit/544375feb3f54921e0f > > >> 74cc1744585d2b6117689#diff-354f30a63fb0907d4ad57269548329e3 > > > > > > > > > > > > > > > -- > > > Best Regards, > > > Savva Kolbachev > > > > > > > > > > > -- > > Best Regards, > > Savva Kolbachev > > > > > -- > Best regards, > Nikita Timofeev > -- Best Regards, Savva Kolbachev
