Shopify / Shopify/toxiproxy

Proxy to Oracle Pool Datasource connection

Open
#444 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
Go
Stars
12.4k
Forks
510
PR merge metrics
No merged PRs in 30d

Description

Hi Team,

I have been using ToxiProxy for quite sometime to proxy http endpoints and it is working fine.
I have a new requirement of creating a proxy to the Oracle Database. The database connection is being created using the Oracle PoolDataSource during the application start up, and during the API execution, these connection pools are being used to add/update data into the Database.
I have created a proxy to the database host and port, and the connection is being established fine. The problem is that, since our application is using the Pooled Data Source connections which are being created during the application start-up itself, the subsequent calls where the DB transactions are being done, does not have any impact on any toxic (latency or timeout) that is being added to the proxy. In short, I am not being able to make use of the features of ToxiProxy when the Oracle Connection is being used as a Pooled DataSource connection.

Note: If an application creates a new connection every time for a database operation, in such a case the latency added to the proxy is visible, the api takes longer time than usual. But if the connection is made only once during startup and the oracle PoolDataSource connection is being used to do the DB operations, instead of creating the physical connection every time, the latency added to the proxy does not have any impact. The application makes use of a connection already available in the Pool of connections and does the operation.

Have you come across any such scenario and can you help me find a workaround for this. We are trying to setup this scenario into one of our applications for a chaos test and we are stuck at this point.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The report names Oracle PoolDataSource connections and ToxiProxy toxics but no repository files, tests, or entry points. Start by locating the proxy connection and toxic-application paths, then determine whether pooled existing connections can be affected; done would require a reproducible test and a documented resolution.

Written by the indexing model from the issue text.

Assessment

Domain
database
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.