Commit Graph

18 Commits

Author SHA1 Message Date
Cheena Malhotra
4e5a7ebe97 Throw exception on connection failure to be captured by frontend (#2190) 2023-08-23 18:28:47 -07:00
Charles Gagnon
969ac0ed8c Use Logger overloads (#2163) 2023-08-02 13:25:21 -07:00
Alan Ren
3ddbf729ce fix drop object issue and add logging (#1974)
* fix drop object issue

* remove content logging

* remove ununsed using.
2023-03-28 19:55:37 -07:00
Hai Cao
19b7a180b5 Expose inner exceptions when sendError (#1919)
* send inner exception

* trim

* name

* format
2023-03-08 14:27:08 -08:00
Cheena Malhotra
86a8861e78 Build with .NET 7.0.200 + Async improvements (#1869) 2023-02-17 09:54:20 -08:00
Hai Cao
f86ebae9b8 Re-enable parallel message processing (#1741)
* add flag to handler

* cleanup

* concurrency control

* add flag for handler setters

* update service flags

* fix event handlers

* more handlers

* make sure behavior is unchanged if flag is off

* cleanup

* add test case for parallel processing

* comments

* stop dispatcher in test

* add log for request lifespan

* cleanup and add comments

* correctly release semaphore

* remove deleted file from merge

* use await for semaphore release

* move handler invocation to await and adjust test

* cleanup exception handling and wrapper

* space

* loose assertion condition to make test stable
2022-12-11 00:05:33 -08:00
Charles Gagnon
072b3c7c78 Cleanup message handling (#1700) 2022-09-16 20:29:06 -07:00
Karl Burtram
3885c8f680 Revert async dispatcher change 08c74be (#1655)
* Revert 08c74be51f async message handling

* Fix merge error in SetEventHandler
2022-08-29 10:44:26 -07:00
Charles Gagnon
fd00114a0e Catch Request/Event handler errors at dispatcher level (#1610)
* Catch Request/Event handler errors at dispatcher level

* Fix tests

* Use Exception overload of SendError

* Fix tests
2022-07-29 17:31:36 -07:00
Alan Ren
08c74be51f make the message processing truely async (#1596) 2022-07-21 16:58:03 -07:00
Alan Ren
a7e6eca9e3 add a flag to make message processing parallel (#1482)
* add a flag to make message processing parallel

* use discard

* add comment
2022-05-05 14:44:58 -07:00
Alan Ren
192f7fccd4 handle add column request (#1272)
* handle add column request

* comments

* rename data to ViewModel
2021-10-19 09:54:57 -07:00
Amir Omidi
89699823bf Reduce the verbosity of logging (#950) 2020-04-22 20:33:43 -07:00
Arvind Ranasaria
6dd9a4b5f1 Feat/result streaming (#721)
This changes adds the following two notifications from the results processing within a batch. These new notifications allows a consumer to stream results from a resultset instead of getting them all at once after the entire resultset has been fetched.

ResultsAvailable
This is issued after at least 1 row has been fetched for this resultset.

ResultsUpdated
This is issued periodically as more rows are available on this resultset. The final send of this notification when all rows have been fetched has the property 'Complete' set to true in the ResultSummary object.

Detailed Change Log:
* Initial completed implementation of QueryResults stream feature. 3 unittests still need fixing

* Fix for the 3 failing test. I will look into making MockBehavior strict again for the three tests later

* Making GetReader/GetWriter use filestream objects in FileShare.ReadWrite mode so the file can be concurrently read and written

* Changing resultsAvailable also to fire off on a timer instead of after 1st row

* adding a project for clr TableValuedFunction to produce result set with delays after each row. This is helpful in end to end testing.

* Fixing up some tests and simplifying implementation of result update timer

* Address review comments

* Some test fixes

* Disabled flaky test verification
2018-11-26 10:24:54 -08:00
ranasaria
09652cccd1 Enhanced Logging for sqltoolsservice (#695)
This change modifies the logging framework within sqltoolservice.
Moves away from custom Logger object to start using .Net tracing framework. It supports for the static Trace and TraceSource way of logging. For all new code it is recommend that we log the log messages using the existing static Logger class, while the code changes will continue to route the older Trace.Write* calls from the process to same log listeners (and thus the log targets) as used by the Logger class. Thus tracing in SMO code that uses Trace.Write* methods gets routed to the same file as the messages from rest of SQLTools Service code.
Make changes to start using .Net Frameworks codebase for all logging to unify our logging story.
Allows parameter to set tracingLevel filters that controls what kinds of message make it to the log file.
Allows a parameter to set a specific log file name so if these gets set by external code (the UI code using the tools service for example) then the external code is aware of the current log file in use.
Adding unittests to test out the existing and improved logging capabilities.


Sequences of checkins in development branch:
* Saving v1 of logging to prepare for code review. Minor cleanup and some end to end testing still remains
* Removing local launchSettings.json files
* added support for lazy listener to sqltoolsloglistener and removed incorrect changes to comments across files in previous checkin
* Converting time to local time when writing entries to the log
* move the hosting.v2 to new .net based logging code
* removing *.dgml files and addding them to .gitignore
* fixing typo of defaultTraceSource
* Addressing pull request feedback
* Adding a test to verify logging from SMO codebase
* propogating changes to v1 sqltools.hosting commandoptions.cs to the v2 version
* Fixing comments on start and stop callstack methods and whitespaces
* Commenting a test that got uncommented by mistake
* addding .gitattributes file as .sql file was observed to be misconstrued as a binary file
2018-09-24 23:55:59 -07:00
Matt Irvine
aaa3513db2 Unexpected request handler errors no longer crash SQL Tools Service (#591)
* Handler errors no longer crash service

* Disable additional flaky test
2018-03-15 14:14:09 -07:00
Karl Burtram
f00136cffb Fix namespaces for code moved to separate class libraries (#263)
* Create ServiceHost a service-specific class

* Renaming hosting namespace

* Rename credentials namespace

* Fix namespaces
2017-03-02 14:41:06 -08:00
Karl Burtram
0af7bef66d Create MS.SqlTools.Credentials project (#249)
* Initial credential service files

* Clean-up hostloader

* Update build scripts to build credentials archive

* Move hosting files to new assembly

* Add credentials files to MS.SqlTools.Credentials

* Remove duplicate files

* Update namespace in program.cs

* Fix test build breaks

* Update extensions visibility.

* Remove unused resource strings

* Add xproj files to SLN for appveyor builds

* Fix appveyor build break in test project

* Fix extensibility tests

* Fix various typos in latest iteration

* Add settings for Integration build

* Fix codecoverage.bat to use full pdb for new projects

* Fix bug when packing in folder with native images

* Fix typos in xproj

* Reset XLF to fix build.cmd
2017-02-23 16:09:58 -08:00