Arrows to Collapse\Open Folders

Issue Type: Bug
In SSMS, I can navigate the folders via my arrow keys left and right. I.e.
Server
--> Databases
--> [Database]
--> Programability
--> Stored Procedures
--> [Procedure]
--> [Procedure]
--> [Procedure]
I can be on a specific procedure and arrow left and it will collpase the folder. And continute to do so until I make it to the root node that is the server.
I can arrow up and down, just no left or right.
Azure Data Studio version: azuredatastudio 1.25.1 (e7eacc32c0d20bd4da843320c3bfac231b308c98, 2020-12-11T01:59:24.271Z)
OS version: Windows_NT x64 10.0.18363

System Info
|Item|Value|
|---|---|
|CPUs|AMD Ryzen 9 3950X 16-Core Processor             (32 x 3500)|
|GPU Status|2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled|
|Load (avg)|undefined|
|Memory (System)|127.95GB (117.88GB free)|
|Process Argv||
|Screen Reader|no|
|VM|0%|
Extensions: none

@NicholasIbarra thanks for your suggestion!  Currently the spacebar will expand/collapse containers in the tree, but I agree the arrows are also a natural command for this action.

@kburtram Perfect, I will use this work around in the mean time. I want to migrate to the Data Services, so just wanted to provide feedback. I use SSMS daily and navigating the file tree speeds up finding objects since we have a lot of views and procedures. Thanks!

See also #5579
I think the key thing is that space-bar can't move you up to the parent. Most treeviews support using the left arrow to both collapse the current node if expanded, but also move up to the parent if the current node is already collapsed - that's the more specific useful keyboard navigation.

Is this under development? I miss this feature so much every day. Also the ability to apply filter on trees. It's so hard to replace SSMS :)

This was fixed by #22511


Install Broken

Installing via yarn/npm results in an error, see below.
Yarn:
› yarn add @panzoom/panzoom
yarn add v1.22.5
[1/4] 🔍  Resolving packages...
error An unexpected error occurred: "https://artifactory.psdops.com/api/npm/npm/@panzoom%2fpanzoom: not_found".
info If you think this is a bug, please open a bug report with the information provided in "/Users/username/Sites/sitename/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

NPM:
› npm install --save @panzoom/panzoom
npm ERR! code E404
npm ERR! 404 Not Found: @panzoom/panzoom@latest

npm ERR!      /Users/username/.npm/_logs/2020-09-11T18_38_57_445Z-debug.log

To get around it, I've installed using the a git url instead (shorthand version):
yarn add<EMAIL_ADDRESS>

Thanks for opening an issue. It looks like you may have a custom npm registry that doesn't redirect to the default registry. You can confirm @panzoom/panzoom is on npm here: https://www.npmjs.com/package/@panzoom/panzoom

Ah you're right. I'm working in a pre-existing repo and I didn't notice the .npmrc files in there. Thanks!


BluetoothAdvertisment prameter states Connectable Advertising: No, Scannable Advertising: No

Hi,
We used following Windows-Universal-Sample application to publish the advertisement.
https://github.com/microsoft/Windows-universal-samples/tree/master/Samples/BluetoothAdvertisement
We are able to build the code and deployed the application. Using this application we tried publishing the
bluetoothadvertisement. We are able to publish the advertisment but while checking on logs following parameters
Connectable Advertising : No
Scannable Advertisng: No
Which states that device is not connectable and scannable, We want to make the device as connectable and scannable so that we can check with watcher and then pair.

Does the Bluetooth LE Explorer have the same problem? (Source code, Presentation.) If so, then this is an OS issue, not a Samples issue.

No the Bluetooth LE Explorer does not have this issue. There are some difference between BluetoothAdvertisement application and Bluetooth LE Explorer application
The BluetoothAdvertisement application is using the Windows.Devices.Bluetooth.Advertisement Namespace where as Bluetooth LE Explorer is using the Windows.Devices.Bluetooth.GenericAttributeProfile Namespace to publish the advertisement
Is it possible to change the AdvertisementType to ConnectableUndirected using the Windows.Devices.Bluetooth.Advertisement Namespace? If we can change kindly help the apis that need to be used to set this parameter.
Regards,
Vinoth P B


whole-dataset ingest package

[x] check out cloudfiles for upload
[x] check out https://github.com/awslabs/aws-crt-python
[x] create a new repository (nd-data-transfer)
[x] s3 upload module
[x] gcs upload module
[x] OME-Zarr transcode support

Update 7/7

wip s3 upload module https://github.com/AllenNeuralDynamics/nd-data-transfer/commit/d7fd00fe7a41c8de031b2e15ab1b7916d0883872

Update 7/11

started cluster submission scripts

Update 7/19

started gcs uploads

Update 7/22

started OME-Zarr support

let's close this.  I'll follow up with you on file organization stuff to see where you are.


forgot closing parenthesis in the sample

CreateContainerIfNotExistAsync(blobClient, inputContainerName; was written in code sample of the documentation. Kindly correct it with below code
CreateContainerIfNotExistAsync(blobClient, inputContainerName);

@msandeep22 Thanks for reporting this. Can you please provide the document link?

https://docs.microsoft.com/en-us/azure/batch/tutorial-parallel-dotnet here it is manoj

@msandeep22 Thanks for sharing the link. I have updated the doc and it will be published shortly.


Revert to on-demand rojo sourcemap by default

Switching to a long-living rojo sourcemap --watch Rojo process has brought about a few issues:

"Access denied" errors where the sourcemap process is taking ownership of the opened files
Watched process is not cleaned up when VSCode closes (this is becasue VSCode only budgets ~5s for all extensions to sequentially cleanup, and then forces shutdown. If other extensions take a long time, the luau-lsp deactivate function is never called, and the process is not cleaned up).
Watched process not restarted when Rojo dies (#521)

We should revert to calling rojo sourcemap on demand by default. Watch should remain, but as an opt in feature

Not that I am advocating for one solution or the other, but

Watched process is not cleaned up when VSCode closes (this is becasue VSCode only budgets ~5s for all extensions to sequentially cleanup, and then forces shutdown. If other extensions take a long time, the luau-lsp deactivate function is never called, and the process is not cleaned up).

Why is rojo not started as a sub-process of the extension? Doing it that way means the system will detect it as a sub-process and end it when the parent process is ended so it wouldn't matter if VSCode cleans up your extension.

We already spawn rojo as a child process. But I do not think that statement is correct? If a parent process dies before the child completes, the child still continues (with ppid = 1 on unix) - an orphaned process.

We already spawn rojo as a child process. But I do not think that statement is correct? If a parent process dies before the child completes, the child still continues (with ppid = 1 on unix) - an orphaned process.

This is correct, child processes will stay alive - and there are some hacky solutions such as tree-kill to solve this in the node ecosystem, maybe vscode/electron should be doing something similar to this upstream actually

there are signals you can set to control this behavior

Yeah, but my understanding is that these signals need to be listened on the child side, not the parent (and rojo is a third party tool). We could make a wrapper script, but seems overkill.

The signal in question is SIGHUP, which most processes listen to to know when they're supposed to be closed already. They usually get them from things such as terminals closing and whatnot.
 See: https://stackoverflow.com/questions/30708801/node-js-child-processes-being-killed-when-parent-dies

I wonder if the problem stems from the fact that we set shell: true. That means what actually gets executed is bash -c rojo (or the equivalent for other platforms). So the child process here is actually bash, not rojo which is actually a grandchild. Maybe bash is getting cleaned up, but the grandchild is not and it gets orphaned.
We could reinvestigate the need for enabling shell mode. IIRC, it was because of PATH issues, but maybe it is no longer a problem.

I stopped using shell mode in the recent update. Would be interested to know if it breaks anything


azure-eventhub async BlobCheckpointStore restarts at partition start if Eventhub connection lost

Package Name:

azure-eventhub
azure-eventhub-checkpointstoreblob-aio

Package Version:

5.11.3
1.1.4

Operating System:

debian linux container: (see python:3.11-slim-bookworm base)

Python Version:

3.11.4

Describe the bug
We see the following happening:

Eventhub consumer loses its connection due to inactivity
Eventhub consumer reconnects after a few minutes and starts over at the beginning of the partition (which for us is a few thousand messages back).

The consumer here is a kubernetes pod, and we can see that no other pod has claimed the partition in the meantime. In effect, when the consumer loses its connection and reconnects, it ignores the latest checkpoint (which has been otherwise spot-checked in Azure Blob Storage and is working as expected) and starts over from the beginning.
To Reproduce
Steps to reproduce the behavior:

Run a few Eventhub consumers (async) across a 3-partition eventhub
Enable checkpointing
Run lots of events through
Wait until one of the consumers gets disconnected
Check if consumer reconnects and starts over at the beginning of the partition

Expected behavior
We expected the consumer to reconnect and continue on from the latest checkpoint.
Logs
Here is a sequence of log messages from a single kubernetes pod illustrating the problem (in chronological order, timestamps in UTC):
// Event received as normal: sequence_number for this partition is 104602
{"message": "", "main": "EventhubConsumer", "sequence_number": 104602, "partition": "1", "event": "Received event", "application": "SFUpdater", "version": "v1.9.1-20230714.1", "span": {"span_id": "0x52e63afe8bf5d049", "trace_id": "0xc2c76b3bff23ea667e23adadaadc7045", "parent_span_id": "0x79c66f44913e6f2b"}, "level": "info", "timestamp": "2023/07/21 21:28:30"}

// next log message after the above, a disconnect due to inactivity
{"message": "Connection closed with error: [b'amqp:connection:forced', b\"The connection was inactive for more than the allowed 300000 milliseconds and is closed by container 'LinkTracker'. TrackingId:33bc532ce6c44e56a82a607f4429ad7b_G8S3, SystemTracker:gateway5, Timestamp:2023-07-21T21:36:16\", None]", "timestamp": "2023-07-21T21:36:16.576876+00:00", "application": "SFUpdater", "version": "v1.9.1-20230714.1"}

// immediately following the disconnect, the next log message is as follows with sequence_number 101258
{"message": "", "main": "EventhubConsumer", "sequence_number": 101258, "partition": "1", "event": "Received event", "application": "SFUpdater", "version": "v1.9.1-20230714.1", "span": {"span_id": "0x73b260e0d803999c", "trace_id": "0x1f6f8ea301aa51c685f13d3263fa1700", "parent_span_id": "0x4a236ec29b9c8f9c"}, "level": "info", "timestamp": "2023/07/21 21:36:17"}

// the pod is now very busy reconsuming all events from the beginning of the partition
// large number of log messages follow...

Footnote: I mentioned this problem to @kashifkhan a couple of weeks ago and he suggested upgrading to azure-eventhub 5.11.3, and you can see that from the "connection inactive" message above.
Also, possibly related to #29961?

Thanks for your reply. The only log messages I am seeing now are those above. I wanted to check which loggers to enable (checkpoint library, for example) before turning them on. I can do that. Unfortunately, it took a week for it to happen this last time, so it may be some time before I have some useful logs. I will enable these and keep an eye on it.

Thank you very much @erewokMF. Just to confirm, in your blob storage you can see the proper sequence number correct ? Its the client that starts from some point in the past ?

Yes, but I have discovered the problem has happened after it's been reset and I'm getting alarms from log alerts. Under regular operation, when I look at the checkpoint file in Blob storage, I see in the metadata the expected sequence_number matching the last event processed.

I discovered this morning that I could trigger this in our dev environment by setting the eventhub status to "Disabled" and then setting it back to "Active".
Our application logs include the sequence number and you can see the sequence number starting back at partition start when I do this:
16103
16103
16103
16103
16103
16104
16104
16104
16104
16105
16105
16105
16105
16105
16105
16090
16090
16090
16090
16090
16090
16091
16091
16091
16091
16091

I have a large volume of debug logs associated with this but no blob-storage logs at the moment.

Thank you so much for this @erewokMF and also the detailed email with logs. We will pour over those and Ill update this when we can repro on our end 🙂

You are welcome. Thanks for your assistance, as always!

Hi @erewokMF - Trying to repro this right now. How quickly do you re-enable the hub after disabling?

I am slow; usually takes me 30s to 1m to re-enable.

Thanks @erewokMF! Another follow up: Are you checkpointing on_event_batch/per event/by event count/something else? Can you provide a sample of when/how you update the checkpoint?

Hello @swathipil! I have a few different strategies I've tried in order to make sure the bug isn't something weird we're doing. Right now, we're single single-event receipt (as opposed to batch) and checkpointing after every event is handled. In other words, we are running something very close to this example.
However, we are using azure-identity to auth with the Blob Storage  container and with the Eventhub. Today, I want to try adding azure-identity to the DEBUG logs and figure out why Blob Storage client logs are not appearing.

Potentially useful update: I just tried to run the same app with uamqp_transport=True, and see if I could reproduce the issue and I could not. After disabling and reenabling the consumer it did not start over at the beginning of the partition.

Thanks for the updates & logs @erewokMF. We will link out a PR for the fix to this issue

Hi @erewokMF, we have now released an update with the fix. Appreciate your help to fix this issue :)


Uncaught Error: ERROR: 0:2: '' : No precision specified for (float)

Igloo threw this error after shamelessly copying everything.
"Uncaught Error: ERROR: 0:2: '' : No precision specified for (float)"
Fixed by adding these lines to the start of each fragment shader
#ifdef GL_ES
precision mediump float;
#endif

These lines have been in this project's shaders since the beginning. It's essential for all WebGL fragment shaders, so it's hard to miss.