-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev Branch available with Promises - Node-oracledb 1.9.x Plans #410
Comments
What do you mean when you write "when js layer is OK"? |
@sagiegurari I mean when you (and other users) are OK with the design & implementation, and when there is good Promise test coverage and the docs have been fully updated. |
Thanks |
few recommendations for a general roadmap:
|
I've pushed the dev-1.9 branch. Some release notes are here. |
Thanks for taking time to let us know where things stand. |
thanks. i would also suggest regarding tests, is to check coverage. |
@sagiegurari the npmignore format is supposed to be the same as gitignore "any matching file excluded by a previous pattern will become included again", but my quick tests to try and bundle only a few of the tests either caused all, or no, tests to be bundled. Regarding coverage, @octokyle is running some code coverage tools on C & JS. Coverage is good but, like all testing, could be improved. I forget the current numbers. |
maybe something wrong with the npmignore, but regardless, for readability, I suggest you might want to split the tests to 2 folders. |
@sagiegurari simple but effective! |
Naming dropping a few people who have used or mentioned promises in this project @jrop @isian8814 @mrapczynski @wmertens @ecowden @bberryhill @alexsantos @jeffm13 If you have feedback on the Promise support in 1.9.0 Development branch, let us know soon. |
@cjbj Brilliant! |
The stream feature looks extremely useful, nice! I have a question with the promise implementation though. How does it work with thread, (meant connection) pools? It's not clear to me looking at the code, can you provide an example ? |
@toberoo Thanks for the feedback! Do you mean connection pools? There's an example on using Promises here: The only difference with connection pools would be that you get the connection from the pool rather than the base class. Does that help? |
Could I do something like: oracleDb.createPool({ }) }); |
@toberoo Absolutely. Code like that would generally be in your main/app.js. Then you could get and use connections in a manner similar to the example I showed you before. |
It's been a week since the dev branch with Promise support was pushed. We'd love to hear anyone's experience with it. See the release notes. @sagiegurari @jrop @isian8814 @mrapczynski @wmertens @ecowden @bberryhill @alexsantos @jeffm13 |
from quick review it looks good to me. |
To me it seems that dev-1.9 hangs if the database connection is lost when the poolMin option is not 0. Consider the following:
It will output the text |
@Laphro When I run your example it finishes fine - after 10 seconds I see "Query done" in the console. If I wait till I see the "Unplug message..." and then shutdown my database, I see "Executing query", then after about 50 seconds or so I get: I'm unable to reproduce the issue. |
@Laphro what OS(s) are you using? What versions? What versions of Oracle DB and client? What are your Oracle Net options and OS TCP timeouts etc? |
@Laphro as Dan mentioned, shutting down the DB or killing the session does return an error so the Promise implementation seems OK. I tried unplugging the cable to my DB - done virtually to a VirtualBox VM. Pausing the VM had the same effect. In this case your code does hang. It hangs either at the execute or the initial, internal 'attach' to the DB, depending on the value of |
@cjbj Sorry for not getting back earlier. I also run both of my OS's on VirtualBox. Node is running on Ubuntu 16.04 VM with the 11.2 client. The database 11.2.0.4.0 is on Windows Server 2012. The hang happens if I turn off the database VM or disconnect the client VM's network connection. I tried it and the |
@Laphro thanks for the update. Our Net team reminded me that |
Just ran my tests (found in https://github.com/sagiegurari/simple-oracledb/blob/master/test/spec/integration-spec.js) with dev-1.9 branch and it all passed ok. Regarding CI, I read a bit travis-ci and docker. |
@sagiegurari thank you. We'll wrap up 1.9.1 soon. |
After a brief test, everything seems to be working with our libs! Thanks for this guys! |
@jrop thank you. |
To keep everyone updated: I'm impatient to release 1.9.1 but cooler heads have prevailed. We are going to take a few more days to soak-test fixes that should stop the garbage collector kicking in too early. |
Our initial tests show that things are working as expected. We'll try to run through some load testing next week. |
Node-oracledb 1.9.1 has been released. Yay! Thanks for all the feedback. Check out the release notes at https://blogs.oracle.com/opal/entry/node_oracledb_1_9_1 |
It's been a while since I did a road map for a release.
Note the call-to-action to help test.
Our current thoughts for the 1.9.x series are:
How does that sound? Obviously if something is taking time and we have other fixes ready we can adjust the order.
The text was updated successfully, but these errors were encountered: