Commit fd13a23
feat: Add NHibernate support (#85)
* ef integration test
* add pull request to register the workflow and then run manually
* install dotnet-ef tool
* install dotnet ef in docker
* fix PATH
* fix migration name
* log ef tests
* failover for ef
* fix wrapper connection string
* fix logging
* pass connection string to UseMySql
* remove efm from tests
* MakeSureFirstInstanceWriter
* dispose transaction on catch
* use cluster endpoint
* more logging
* fix connection type
* fix stale dns using old writer host spec
* fix stale dns using old writer ip
* enable connect failover
* check for instance id
* more logging
* more logging
* check for connection state
* test
* try to fix logs
* log connection role
* use proxy cluster endpoint
* use non proxy cluster endpoint and fix dns patterns
* force refresh anyway
* more tests
* more tests
* use proxy cluster for simulation tests
* fix wrong ClusterInstanceHostPattern
* fix simulation to use proxy cluster endpoint
* disable both cluster and writer
* refresh host list after failover on connect
* add is initial connection in connection
* not throw exception when there are dialect candidates and update fails
* not use plugins when adding ef migrations
* remove is initial connection var
* truncate tables inside each test after cluster status ok
* fix tests
* fix test
* fix test
* change timeout settings
* increase temp failure time to trigger failover on BeginDbTransaction
* typo
* increase temp failure time
* make sure readers are up after failover
* remove cluster status check
* fix logger format
* dispose transaction after commit rollback and dispose
* remove null check for target transaction
* check for null before disposing
* fix test
* truncate tables
* fix test
* more tests
* revert to use cluster endpoint for IAM and EFM tests
* revert some test cases to use cluster endpoint
* move dispose to finally for transaction
* ignore exception thrown by rollback
* fix github action matrix
* debug: check for all roles
* fix host creation
* added implementation of nhibernate
* pipeline run
* fix docker build issues
* CreateConnection alterations
* added delayed intialzation of AwsWrapperConnection
* wrong constructor called
* fixed missing table issue
* i'm a potato
* fixed test errors
* check generic ado exception for failover
* missing type
* added pg failover tests
* linting
* timeout param error
* revert connection string changes
* test without timeout
* test edits
* fixed to use helper function for config
* linting
* linting
* added initial connection strat
* removed initial connection
* add back efm to reproduce error
* add DbTransaction to command if there is an active transaction
* add network failure efm test
* increase min thread pool size
* run async
* fix test case
* fix test
* more logging
* fix build
* dispose monitoring connection once invalid
* change to use reader
* disable connection pooling for mysql
* use close rather than dispose for aborting
* more logging
* more logging
* more logging
* remove mysql efm tests since mysql does not support abort connection in a separate thread
* remove efm from ef mysql tests as efm does not support mysql
* fixing pipeline tests
* fix temp test
* updated to use proxy endpoint
* removed pg proxy test
* fixed before open test
* remove result logging to fix rows not updated in efm
* add logging
* added logging
* refreshing after inital connection set
* refreshing after inital hostlist set
* rethrow exception in EFM execute pipeline
* rename
* bump mysql ef version to 9.0.0
* added logging messages
* try to reopen connection after close
* fixed unit tests
* passed connection by reference
* dispose old connection
* set isInitialconnection to false
* fixed unit tests
* removed unused imports
* use force open instead of open
* linting
* check for both transaction and ado ex
* fixed typo
* force open
* changed to open
* removed ref
* fix unit test
* linting
* update workflow
* reverting unnessary changes
* temp run changes
* revert unit test changes
* changed tests
* simplifiying test
* catch transaction error instead
* updated multiaz pg is dialect
* updated multiaz pg is dialect
* fixed execution
* test query
* updated dialect candidates
* retry logic
* force refresh
* address comments
* address comments
* added CreateCriteria test
* test re-order
* added session query test
* lossen dbexception catch
* lossen dbexception catch
* set isClosed to false after failover success
* add addtional log messages
* linting
* reverting some changes
* changed test cases
* changed test cases
* clear sessions after failover
* linting
* added additional logging
* added additional logging
* RCA loggging
* fixed sql
* addtional logging
* disabled pooling
* pooling test
* failover pooling tests
* added retry for when connection pool is out of date
* linting
* integ test changes
* linting errors
* enabled multi-az tests
* added test tag
* test fix
* addressing pipeline build errors
* test changes
* updated sleep query
* added timeout and no pooling when force open
* linting
* fix build error
* fixed build error
* test adjustments
* toxy proxy changes
* changed instance endpoint
* removed inital connections strategy
* test edits
* ping returns inner exception
* retry logic
* Update AwsWrapperDataProvider/Driver/Dialects/RdsMultiAzDbClusterPgDialect.cs
Co-authored-by: Yan Wang <68562925+yanw-bq@users.noreply.github.com>
* addressed pr comments
* removed initialconenction plugin for non aurora tests
* reverted exception check for cluster monitor topology query
* added try catch for open in cluster topology monitor
* added intialconnection plugin
* fixed linting issues
* removed initial connection strategy from failover test
* deafult connection plugin changes
* linting
* addressed PR comments
* fixed unit test
* integration test fix
* reverted default open changes
* reverted resource string change
* added example project
* fixed build error
* fixed build error
* add readme
* added new test tasks to the integration test section
* restored dispose override
* delayed init for connection
* fixed constructor
* remove pipeline call from CreateDbParameter
---------
Co-authored-by: Yan Wang <yan.wang@improving.com>
Co-authored-by: Yan Wang <68562925+yanw-bq@users.noreply.github.com>
Co-authored-by: kenrick.yap@improving.com <14yapkc1@gmail.com>1 parent 67591d3 commit fd13a23
49 files changed
Lines changed: 1863 additions & 149 deletions
File tree
- .github/workflows
- AwsWrapperDataProvider.Dialect.MySqlClient
- AwsWrapperDataProvider.Dialect.MySqlConnector
- AwsWrapperDataProvider.Dialect.Npgsql
- AwsWrapperDataProvider.NHibernate.Tests
- AwsWrapperDataProvider.NHibernate
- AwsWrapperDataProvider.Plugin.Iam/Utils
- AwsWrapperDataProvider.Tests
- Container/Utils
- Driver
- Dialects
- TargetConnectionDialects
- AwsWrapperDataProvider
- Driver
- Dialects
- Exceptions
- HostListProviders
- Monitoring
- Plugins
- AuroraInitialConnectionStrategy
- AuroraStaleDns
- Failover
- TargetConnectionDialects
- Utils
- docs
- development-guide
- examples
- AwsWrapperDataProviderExample
- NHibernateExample
- test/integration/host
- src/test/java/integration/host
- util
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
Lines changed: 20 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
30 | | - | |
| 31 | + | |
31 | 32 | | |
32 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
33 | 51 | | |
34 | 52 | | |
35 | 53 | | |
| |||
Lines changed: 21 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | | - | |
| 34 | + | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
37 | 56 | | |
38 | 57 | | |
39 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
30 | | - | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
33 | 61 | | |
34 | 62 | | |
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
0 commit comments