Failed to collect metrics from worker container

To run dog-breed-classification

Created Notebook Server with gcr.io/arrikto/jupyter-kale:v0.5.0
Replaced images with..

Katib controller: gcr.io/arrikto/katib-controller:40b5b51a
Katib Chocolate service: gcr.io/arrikto/suggestion-chocolate:40b5b51a

as described on Hands-On .
But, metrics-logger-and-collector can't collect metrics with an error
kubeflow@hbseo-m:~$ kubectl -n admin get po
NAME                                          READY   STATUS    RESTARTS   AGE
dog-breed-katib-p01pk-6487aa2c-qwht7          2/2     Running   0          7s
dog-breed-katib-p01pk-grid-656f7c4459-5w5gs   1/1     Running   0          47s
test99-0                                      2/2     Running   0          7m12s
kubeflow@hbseo-m:~$
kubeflow@hbseo-m:~$ kubectl -n admin logs -f dog-breed-katib-p01pk-6487aa2c-qwht7 -c metrics-logger-and-collector
I0827 02:46:30.537116      12 main.go:85] Trial Name: dog-breed-katib-p01pk-6487aa2c
I0827 02:46:32.817593      12 main.go:79] 2020-08-27T02:46:32Z kfp_utils:315 [INFO] Watching for Run with ID: '9af2e79b-ef0d-423f-98d1-cc93d7d7f903' in namespace 'kubeflow'
I0827 02:47:02.904638      12 main.go:79] 2020-08-27T02:47:02Z kfp_utils:322 [INFO] Run status: Failed
I0827 02:47:02.904673      12 main.go:79] 2020-08-27T02:47:02Z kfp_utils:387 [WARNING] KFP run did not run successfully. No metrics to return.
F0827 02:47:03.538149      12 main.go:95] Failed to wait for worker container: Process 6 hadn't completed: open /var/log/katib/6.pid: no such file or directory
goroutine 1 [running]:
github.com/kubeflow/katib/vendor/k8s.io/klog.stacks(0xc00019e100, 0xc00023c000, 0xa0, 0x1d6)
        /go/src/github.com/kubeflow/katib/vendor/k8s.io/klog/klog.go:830 +0xb8
github.com/kubeflow/katib/vendor/k8s.io/klog.(*loggingT).output(0x129da40, 0xc000000003, 0xc000181030, 0x12378d6, 0x7, 0x5f, 0x0)
        /go/src/github.com/kubeflow/katib/vendor/k8s.io/klog/klog.go:781 +0x2d0
github.com/kubeflow/katib/vendor/k8s.io/klog.(*loggingT).printf(0x129da40, 0x3, 0xc78f77, 0x27, 0xc00015fed8, 0x1, 0x1)
        /go/src/github.com/kubeflow/katib/vendor/k8s.io/klog/klog.go:678 +0x14b
github.com/kubeflow/katib/vendor/k8s.io/klog.Fatalf(...)
        /go/src/github.com/kubeflow/katib/vendor/k8s.io/klog/klog.go:1209
main.main()
        /go/src/github.com/kubeflow/katib/cmd/metricscollector/v1alpha3/file-metricscollector/main.go:95 +0x279

kubeflow: kfctl_k8s_istio.v1.0.2
kubernetes: v1.17.11
OS: Ubuntu 18.04.4 LTS

@jazzsir  Apparently the corresponding pipeline run is failing, as you can see in the corresponding logs:
I0827 02:46:32.817593      12 main.go:79] 2020-08-27T02:46:32Z kfp_utils:315 [INFO] Watching for Run with ID: '9af2e79b-ef0d-423f-98d1-cc93d7d7f903' in namespace 'kubeflow'
I0827 02:47:02.904638      12 main.go:79] 2020-08-27T02:47:02Z kfp_utils:322 [INFO] Run status: Failed
I0827 02:47:02.904673      12 main.go:79] 2020-08-27T02:47:02Z kfp_utils:387 [WARNING] KFP run did not run successfully. No metrics to return.

Can you please check the state of the pipeline run, and see why it is failing?

@StefanoFioravanzo Thanks, I recognized some libraries need to be installed.
Unfortunately, I don't use Rok, so I copied all dataset into the container image using Dockerfile, and changed path of the dataset in dog-breed-katib.ipynb file.
But, some errors occur in pipeline container as below.
host@hbseo-m:~/go/src/github.com/kubeflow/kale$ kubectl -nkubeflow logs -f dog-breed-qhn9k-kl4vt-716778710 -cmain
03:26:24 Kale marshalling [INFO] Loading general object: /marshal/dog_names.dillpkl
03:26:24 Kale marshalling [INFO] Loading function: path_to_tensor.pyfn
03:26:24 Kale marshalling [INFO] Loading numpy obj: test_files.npy
03:26:24 Kale marshalling [INFO] Loading numpy obj: test_targets.npy
03:26:24 Kale marshalling [INFO] Loading numpy obj: train_targets.npy
03:26:24 Kale marshalling [INFO] Loading numpy obj: valid_targets.npy
2020-08-28 03:26:26.704288: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-08-28 03:26:26.704338: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)
2020-08-28 03:26:26.704365: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (dog-breed-qhn9k-kl4vt-716778710): /proc/driver/nvidia/version does not exist
2020-08-28 03:26:26.704620: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-08-28 03:26:26.712710: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency:<PHONE_NUMBER> Hz
2020-08-28 03:26:26.713374: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fe38c000b20 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-08-28 03:26:26.713406: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
flatten (Flatten)            (None, 2048)              0
_________________________________________________________________
dense (Dense)                (None, 256)               524544
_________________________________________________________________
dense_1 (Dense)              (None, 133)               34181
=================================================================
Total params: 558,725
Trainable params: 558,725
Non-trainable params: 0
_________________________________________________________________
Epoch 1/20
190/209 [==========================>...] - ETA: 0s - loss: 2.0025 - accuracy: 0.5400
Epoch 00001: val_loss improved from inf to 0.91779, saving model to saved_models/weights.best.ResNet50.hdf5
209/209 [==============================] - 1s 4ms/step - loss: 1.9053 - accuracy: 0.5576 - val_loss: 0.9178 - val_accuracy: 0.7186
Epoch 2/20
207/209 [============================>.] - ETA: 0s - loss: 0.4838 - accuracy: 0.8530
Epoch 00002: val_loss improved from 0.91779 to 0.77369, saving model to saved_models/weights.best.ResNet50.hdf5
209/209 [==============================] - 1s 3ms/step - loss: 0.4822 - accuracy: 0.8536 - val_loss: 0.7737 - val_accuracy: 0.7677
Epoch 3/20
207/209 [============================>.] - ETA: 0s - loss: 0.2653 - accuracy: 0.9189
Epoch 00003: val_loss improved from 0.77369 to 0.76555, saving model to saved_models/weights.best.ResNet50.hdf5
209/209 [==============================] - 1s 3ms/step - loss: 0.2655 - accuracy: 0.9190 - val_loss: 0.7656 - val_accuracy: 0.7796
Epoch 4/20
209/209 [==============================] - ETA: 0s - loss: 0.1611 - accuracy: 0.9531
Epoch 00004: val_loss improved from 0.76555 to 0.66085, saving model to saved_models/weights.best.ResNet50.hdf5
209/209 [==============================] - 1s 3ms/step - loss: 0.1611 - accuracy: 0.9531 - val_loss: 0.6609 - val_accuracy: 0.7988
Epoch 5/20
194/209 [==========================>...] - ETA: 0s - loss: 0.0948 - accuracy: 0.9774
Epoch 00005: val_loss did not improve from 0.66085
209/209 [==============================] - 1s 3ms/step - loss: 0.0984 - accuracy: 0.9762 - val_loss: 0.7250 - val_accuracy: 0.7904
Epoch 6/20
196/209 [===========================>..] - ETA: 0s - loss: 0.0722 - accuracy: 0.9837
Epoch 00006: val_loss improved from 0.66085 to 0.65426, saving model to saved_models/weights.best.ResNet50.hdf5
209/209 [==============================] - 1s 3ms/step - loss: 0.0724 - accuracy: 0.9840 - val_loss: 0.6543 - val_accuracy: 0.8024
Epoch 7/20
197/209 [===========================>..] - ETA: 0s - loss: 0.0371 - accuracy: 0.9952
Epoch 00007: val_loss improved from 0.65426 to 0.63860, saving model to saved_models/weights.best.ResNet50.hdf5
209/209 [==============================] - 1s 3ms/step - loss: 0.0389 - accuracy: 0.9946 - val_loss: 0.6386 - val_accuracy: 0.8168
Epoch 8/20
198/209 [===========================>..] - ETA: 0s - loss: 0.0328 - accuracy: 0.9948
Epoch 00008: val_loss improved from 0.63860 to 0.59682, saving model to saved_models/weights.best.ResNet50.hdf5
209/209 [==============================] - 1s 3ms/step - loss: 0.0319 - accuracy: 0.9951 - val_loss: 0.5968 - val_accuracy: 0.8311
Epoch 9/20
195/209 [==========================>...] - ETA: 0s - loss: 0.0263 - accuracy: 0.9955
Epoch 00009: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0265 - accuracy: 0.9954 - val_loss: 0.6125 - val_accuracy: 0.8251
Epoch 10/20
204/209 [============================>.] - ETA: 0s - loss: 0.0370 - accuracy: 0.9920
Epoch 00010: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0371 - accuracy: 0.9921 - val_loss: 0.7206 - val_accuracy: 0.8060
Epoch 11/20
191/209 [==========================>...] - ETA: 0s - loss: 0.0499 - accuracy: 0.9887
Epoch 00011: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0520 - accuracy: 0.9877 - val_loss: 0.8259 - val_accuracy: 0.8024
Epoch 12/20
207/209 [============================>.] - ETA: 0s - loss: 0.0799 - accuracy: 0.9799
Epoch 00012: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0804 - accuracy: 0.9798 - val_loss: 0.8422 - val_accuracy: 0.7892
Epoch 13/20
202/209 [===========================>..] - ETA: 0s - loss: 0.0863 - accuracy: 0.9763
Epoch 00013: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0869 - accuracy: 0.9757 - val_loss: 0.8585 - val_accuracy: 0.7760
Epoch 14/20
195/209 [==========================>...] - ETA: 0s - loss: 0.0896 - accuracy: 0.9748
Epoch 00014: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0924 - accuracy: 0.9734 - val_loss: 1.0419 - val_accuracy: 0.7701
Epoch 15/20
198/209 [===========================>..] - ETA: 0s - loss: 0.0780 - accuracy: 0.9774
Epoch 00015: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0772 - accuracy: 0.9777 - val_loss: 0.9807 - val_accuracy: 0.7808
Epoch 16/20
193/209 [==========================>...] - ETA: 0s - loss: 0.0442 - accuracy: 0.9870
Epoch 00016: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0467 - accuracy: 0.9862 - val_loss: 0.9451 - val_accuracy: 0.8060
Epoch 17/20
195/209 [==========================>...] - ETA: 0s - loss: 0.0287 - accuracy: 0.9918
Epoch 00017: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0296 - accuracy: 0.9918 - val_loss: 0.8815 - val_accuracy: 0.8024
Epoch 18/20
205/209 [============================>.] - ETA: 0s - loss: 0.0286 - accuracy: 0.9941
Epoch 00018: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0291 - accuracy: 0.9940 - val_loss: 0.8465 - val_accuracy: 0.8216
Epoch 19/20
193/209 [==========================>...] - ETA: 0s - loss: 0.0216 - accuracy: 0.9938
Epoch 00019: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0209 - accuracy: 0.9942 - val_loss: 0.8219 - val_accuracy: 0.8192
Epoch 20/20
204/209 [============================>.] - ETA: 0s - loss: 0.0183 - accuracy: 0.9954
Epoch 00020: val_loss did not improve from 0.59682
209/209 [==============================] - 1s 3ms/step - loss: 0.0182 - accuracy: 0.9954 - val_loss: 0.9093 - val_accuracy: 0.8192
Test accuracy: 81.9378%
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5
94773248/94765736 [==============================] - 2s 0us/step
WARNING:tensorflow:Model was constructed with shape (None, 1, 1, 2048) for input Tensor("flatten_input:0", shape=(None, 1, 1, 2048), dtype=float32), but it was called on an input with incompatible shape (None, 7, 7, 2048).
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-10-c706ab07d5b2> in <module>
     36 gtruth = np.argmax(test_targets[0])
     37 gtruth = dog_names[gtruth].split('.')[-1]
---> 38 pred = predict_breed(img_path)
     39 print("Groundtruth dog breed: {}".format(gtruth))
     40 print("Predicted dog breed: {}".format(pred))

<ipython-input-10-c706ab07d5b2> in predict_breed(img_path)
      2     img = path_to_tensor(img_path)
      3     bottleneck_feature = extract_Resnet50(img)
----> 4     predicted = ResNet50_model.predict(bottleneck_feature)
      5     idx = np.argmax(predicted)
      6     return dog_names[idx].split('.')[-1]

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in _method_wrapper(self, *args, **kwargs)
     86       raise ValueError('{} is not supported in multi-worker mode.'.format(
     87           method.__name__))
---> 88     return method(self, *args, **kwargs)
     89
     90   return tf_decorator.make_decorator(

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in predict(self, x, batch_size, verbose, steps, callbacks, max_queue_size, workers, use_multiprocessing)
   1266           for step in data_handler.steps():
   1267             callbacks.on_predict_batch_begin(step)
-> 1268             tmp_batch_outputs = predict_function(iterator)
   1269             # Catch OutOfRangeError for Datasets of unknown size.
   1270             # This blocks until the batch has finished executing.

/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/def_function.py in __call__(self, *args, **kwds)
    578         xla_context.Exit()
    579     else:
--> 580       result = self._call(*args, **kwds)
    581
    582     if tracing_count == self._get_tracing_count():

/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/def_function.py in _call(self, *args, **kwds)
    616       # In this case we have not created variables on the first call. So we can
    617       # run the first trace but we should fail if variables are created.
--> 618       results = self._stateful_fn(*args, **kwds)
    619       if self._created_variables:
    620         raise ValueError("Creating variables on a non-first call to a function"

/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py in __call__(self, *args, **kwargs)
   2417     """Calls a graph function specialized to the inputs."""
   2418     with self._lock:
-> 2419       graph_function, args, kwargs = self._maybe_define_function(args, kwargs)
   2420     return graph_function._filtered_call(args, kwargs)  # pylint: disable=protected-access
   2421

/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py in _maybe_define_function(self, args, kwargs)
   2772           and self.input_signature is None
   2773           and call_context_key in self._function_cache.missed):
-> 2774         return self._define_function_with_shape_relaxation(args, kwargs)
   2775
   2776       self._function_cache.missed.add(call_context_key)

/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py in _define_function_with_shape_relaxation(self, args, kwargs)
   2704         relaxed_arg_shapes)
   2705     graph_function = self._create_graph_function(
-> 2706         args, kwargs, override_flat_arg_shapes=relaxed_arg_shapes)
   2707     self._function_cache.arg_relaxed[rank_only_cache_key] = graph_function
   2708

/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/function.py in _create_graph_function(self, args, kwargs, override_flat_arg_shapes)
   2665             arg_names=arg_names,
   2666             override_flat_arg_shapes=override_flat_arg_shapes,
-> 2667             capture_by_value=self._capture_by_value),
   2668         self._function_attributes,
   2669         # Tell the ConcreteFunction to clean up its graph once it goes out of

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/func_graph.py in func_graph_from_py_func(name, python_func, args, kwargs, signature, func_graph, autograph, autograph_options, add_control_dependencies, arg_names, op_return_value, collections, capture_by_value, override_flat_arg_shapes)
    979         _, original_func = tf_decorator.unwrap(python_func)
    980
--> 981       func_outputs = python_func(*func_args, **func_kwargs)
    982
    983       # invariant: `func_outputs` contains only Tensors, CompositeTensors,

/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/def_function.py in wrapped_fn(*args, **kwds)
    439         # __wrapped__ allows AutoGraph to swap in a converted function. We give
    440         # the function a weak reference to itself to avoid a reference cycle.
--> 441         return weak_wrapped_fn().__wrapped__(*args, **kwds)
    442     weak_wrapped_fn = weakref.ref(wrapped_fn)
    443

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/func_graph.py in wrapper(*args, **kwargs)
    966           except Exception as e:  # pylint:disable=broad-except
    967             if hasattr(e, "ag_error_metadata"):
--> 968               raise e.ag_error_metadata.to_exception(e)
    969             else:
    970               raise

ValueError: in user code:

    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py:1147 predict_function  *
        outputs = self.distribute_strategy.run(
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/distribute_lib.py:951 run  **
        return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/distribute_lib.py:2290 call_for_each_replica
        return self._call_for_each_replica(fn, args, kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/distribute_lib.py:2649 _call_for_each_replica
        return fn(*args, **kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py:1122 predict_step  **
        return self(x, training=False)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py:927 __call__
        outputs = call_fn(cast_inputs, *args, **kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/sequential.py:277 call
        return super(Sequential, self).call(inputs, training=training, mask=mask)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/network.py:719 call
        convert_kwargs_to_constants=base_layer_utils.call_context().saving)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/network.py:888 _run_internal_graph
        output_tensors = layer(computed_tensors, **kwargs)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py:886 __call__
        self.name)
    /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/input_spec.py:216 assert_input_compatibility
        ' but received input with shape ' + str(shape))

    ValueError: Input 0 of layer dense is incompatible with the layer: expected axis -1 of input shape to have value 2048 but received input with shape [None, 100352]

@jazzsir it looks like the code is failing to validate the shape of the dataset. I would suggest making sure that

you are using the correct library versions (see requirements.txt)
the data actually exists at the specified path


FiveM ESX_Vehiclesshop issue

Hey,
i have a problem with my ESX_Vehiclesshop.
I can go into the job one time. All funktions are ok. But when i go the second time into the Marker i dont can open the Job!
Have anyone an idea?

Hi @TaubeDruide7 👋
Thanks for opening an issue!
Can you please provide a link to a sample app which illustrates the problem you're having? There isn't enough information in your description for me to help. Thanks!

Closing for now since there is not enough information provided in the description.


Can't handle large JSONArray

I have a json array of 100000 characters. When I receive the response as JSONARRAY which is originally of length 38, the response in the android is found to be 10.
Is there any way for having whole array ?

Is this invalid or did you figure out? Either way, would be nice, to share your solution with others, in case someone else struggles with same issue.


raftstore-v2: send tablet when offload checkpoint

What is changed and how it works?

Issue Number: Close #14711
What's Changed:

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test

Release note
None

/merge


Masonwoodford/edit ticket modal

split the modal into an update ticket format and a create ticket format

Tags are still a WIP


Document where to place code for applying migrations at runtime

The "Apply migrations at runtime" section contains code but doesn't say where in your app to put it. I found the answer at https://stackoverflow.com/a/38263675, but it would be nice if the article mentioned where this code should be placed within your app :)

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6e28b0a8-b7e4-4c07-9e60-0df403bbee28
Version Independent ID: 12300b31-6f7b-b75c-970d-693365e77013
Content: Migrations - EF Core
Content Source: entity-framework/core/managing-schemas/migrations/index.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @bricelam
Microsoft Alias: bricelam

If you understand the security risks of using a connection string with permissions to alter the database schema and you understand problems that can occur when multiple instances of your app try to migrate the database at the same time...
You can do it in Program.Main. If you're using Microsoft.Extensions.Hosting, it would look like this:
public static void Main(string[] args)
{
    var host = CreateHostBuilder(args).Build();

    using (var scope = host.Services.CreateScope())
    {
        var db = scope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
        db.Database.Migrate();
    }

    host.Run();
}

You could also consider adding an admin page that requires the user to be authenticated before clicking a button to migrate the database.


Turn on asynchronous workspace cleanup

Purpose
Turn on asynchronous workspace cleanup
Approach
Enable a scheduled job that will list out and select each workspace, then the default workspace.
After this is shown to be working ok, the cleanup actions can be enabled also.
Learning
Checklist

[ ] I have performed a self-review of my own code
[ ] I have added relevant logging with appropriate levels to my code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[ ] I have added tests to prove my work
[ ] The product team have tested these changes

Coverage remained the same at 81.132% when pulling c26d9482efb420062315abccfca0f71743be2b18 on enable-workspace-cleanup into 0661c66867d958683d3686117f5595b0f854bdc4 on master.


Set correct types if upload_to is a function

https://docs.djangoproject.com/en/4.0/ref/models/fields/#django.db.models.FileField.upload_to
        if callable(self.upload_to):
            filename = self.upload_to(instance, filename)
        else:
            dirname = datetime.datetime.now().strftime(str(self.upload_to))
            filename = posixpath.join(dirname, filename)

Actually, looking at the types it seems a little tricky. The return type seems more flexible than just str, like path and bytes also work for the calls that use the value


feat(demo): update demo app to Angular CLI 1.4.1

Coverage remained the same at 93.103% when pulling 48695f6a1f88a856e2ba34f11db6556b76a0d5c9 on feat-cli-141 into 26869e94b231e48cb6b7a1a5b135555b1e663ef5 on master.


Refactor: Clean up code, bug fixes, style optimization

We have to build and release new version of Knora-ui modules: v8.1.0


Long patient list takes time to load

Hello,
I am trying to use the OHIF viewer with a dicom store of X-Ray images. It's deployed and working (without Docker), but I am unsure of how to make customizations to it.
Specifically, when the startup page opens (worklist?) it takes some time to load the patient list. I can only imagine this getting worse as I add the rest of the X-Ray archive to the system (18000 images). Is there a way to make it not show an initial list of patients, or to enable some kind of pagination?
Thanks

You can try to use DIMSE instead of DICOM Web, which might make it faster (not sure if this applies to other servers than Orthanc), but you're right, some sort of pagination is probably necessary. I'll see what we can do about that.

For now I made changes to worklistResult.js
--- worklistResult.orig.js	2016-07-21 13:37:31.595899787 +0300
+++ worklistResult.js	2016-07-21 13:36:42.778486103 +0300
@@ -1,5 +1,5 @@
 Session.setDefault('searchResults', {
-    showLoadingText: true,
+    showLoadingText: false,
     showNotFoundMessage: false
 });

@@ -174,7 +174,7 @@
     this.sortingColumns = new ReactiveDict();

     // Retrieve all studies
-    search();
+    // search();

     // Set sortOption
     var sortOptionSession = Session.get('sortOption');


Port to 1.19.x

I've made a port to 1.19.x, but since you don't have a corresponding branch, I'm pointing this to master.

porting forward the 1.18 branch that has the fix so this is no longer needed


Added both CPU support for lamb optimizer!!

I was facing issue while building model using deepspeed on CPU , As lamb optimizer does not support CPU.So I decided to add cpu support for lamb optimizer.

Can one of the admins verify this patch?

This PR is incomplete and does not fully implement DeepSpeedLambCPU. For example, the GPU op builder is still used in this implementation: self.fused_lamb_cpu = FusedLambBuilder().load()


Roll Flutter Engine from fbc6f4a54047 to b6897303e204 (4 revisions)

https://github.com/flutter/engine/compare/fbc6f4a54047...b6897303e204
2023-09-04<EMAIL_ADDRESS>Roll Skia from 906dcd219276 to 5eaf624077b5 (1 revision) (flutter/engine#45423)
2023-09-04<EMAIL_ADDRESS>Roll Skia from 4d0501380011 to 906dcd219276 (1 revision) (flutter/engine#45422)
2023-09-04<EMAIL_ADDRESS>Roll Skia from 15f77147a3ec to 4d0501380011 (1 revision) (flutter/engine#45421)
2023-09-04<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from p56hmQk2lEbN-VwEg... to ynBQWN3XpE2JvSlfd... (flutter/engine#45420)
Also rolling transitive DEPS:
fuchsia/sdk/core/mac-amd64 from p56hmQk2lEbN to ynBQWN3XpE2J
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC aaclarke@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Write conditionals in Kotlin: Android Basics in Compose

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-compose-conditionals?hl=ko&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-2-pathway-1%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-conditionals#2
In which task and step of the codelab can this issue be found?
println("x is a prime number between 1 and 10.") 줄은 사례 1로 주석을 답니다. in 1..10 -> println("x is a number between 1 and 10, but not a prime number.") 줄은 사례 2로 주석을 답니다. else -> println("x isn't a prime number between 1 and 10.") 줄은 사례 3으로 주석을 답니다. " class="l10n-absolute-url-src" l10n-attrs-original-order="alt,style,src,class" l10n-encrypted-style="Bfmtwp4MR0V5uTC1s3uklU8zz2uYoEmRhrQeP6/mnhY=" src="https://developer.android.com/codelabs/basic-android-kotlin-compose-conditionals/img/bde4eca467c105a2.png" style="width: 624.00px" />
Describe the problem
only text, can't see image
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Hello @newpaper818,
Thank you for reaching out to us. This issue is fixed and will be published soon.


Hamra

Description
Describe the feature you would like to add.

Hii @hamra844 can you please specify more about it , like actually you want ?


Are you missing a convolution 3x3 layer in network?

After feature extraction layer(in you use Resnet50), paper used to  a convolution 3x3 layer(3x3xC) to prepare lstm inputs.

@hcnhatnam 感谢您的反馈，确实是漏掉一个3x3卷积层，后面我会加上，再测试看看效果

@yizt  Looking forward to your early feedback for result...

Can you update model again,please?

@hcnhatnam 抱歉，现已更新模型下载地址


Ensure all links act in same way and use same colors

Currently links across the page behave differently, e.g. some have underlind on scroll over, some change color. Please implement as follows:

[ ] Implement css for links and change html implementation of links to use CSS
[ ] All links should use the same red color
[ ] On scroll over underline links

Hi @mariobehling
I want to fix it and I am working on it.

Fixed it.

@hemanthsavasere use !important css attribute pls.

@mariobehling since inactivity i thought I would deliver in a PR for the same #58

Is this issue still there, i want to work on this..


Iphone/Android UI full screen responsive design issue with footer/header and scroll able content

Issue type
I'm submitting a ...  (check one with "x")

[X ] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Issue description
https://www.akveo.com/ngx-admin/pages/dashboard (cosmic)
Footer is not show in the iphone. We have to manual move the browser to full screen mode.
Same issue is seen with header overlapping the scroll-able content when we move from full screen mode to normal mode. I have record the UI rendering issue in video.
https://drive.google.com/file/d/1rMpnYev0-HI578CXADGhJqHu3bYkf8G7/view?usp=sharing (UI issue reproduction step)
Current behavior:

Expected behavior:
screen should go to full screen when we scroll to footer or header.
Steps to reproduce:
a) footer issue

open https://www.akveo.com/ngx-admin/pages/dashboard (cosmic theam ) in iphone

scroll to footer.

header overlap issue

open https://www.akveo.com/ngx-admin/pages/dashboard (cosmic theam ) in iphone
go to full screen mode in iphone
go back to normal mode.
you will see the header is overlapping with scroll-able content

Related code:
A sample application via GitHub
https://www.akveo.com/ngx-admin/pages/dashboard

g a ... (check o

Any update on this issue?

@vinayak12  were you able to fix this, even we are facing same issue on scroll header gets overlap.

@KostyaDanovsky any update on this issue ?

I handle this problem with this piece of code in the styles.scss, hope it help you
::ng-deep {
  @media only screen and (max-width: 575px) {
    body {
      overflow-y: auto !important;
    }
    .scrollable-container {
      height: unset !important;
    }
  }
}


crosswikis and yago

Hi,
thanks for open-sourcing the code of your paper. Reading section 3, I was expecting the various conditional probabilities p(e|m) to be computed from the wiki canonical pages and the context around hyperlinks. Reading the code, I think it also takes into account precomputed values from crosswikis, and yago (and actually being in line with section 6).
Am I reading the paper and code correctly ?
If yes, would you mind giving some more details on how crosswikis freqs and yago probs are computed + how you combine them (it looks like crosswikis and wiki freqs are added while yago prob. is added to wiki+crosswikis proba unless the sum is > 1, and in such case it is trunctaed).
Best

Hi,
Merging of the 3 indexes happens in https://github.com/dalab/deep-ed/blob/master/data_gen/indexes/yago_crosswikis_wiki.lua and https://github.com/dalab/deep-ed/tree/master/data_gen/gen_p_e_m . We added frequencies from Wiki and Crosswikis, while for Yago we directly added the corresponding uniform probability (since this dataset only comes in the form of lists of possible entities for a given mention, without any frequencies or probabilities).

Thanks for your reply. The questions originated from reading the code in the two files you mentioned so I was apparently looking at the right spot.
I couldn't however come back to the original datasets on crosswikis and yago. Would there be a link / package similar to what you used to get the canonical pages with the text + Wikipedia anchors only ?
Best.

Hi,
I am not sure you are interested only in the Wiki anchors, but if you are, please check https://github.com/dalab/deep-ed/issues/18.
Crosswikis is available here: https://nlp.stanford.edu/data/crosswikis-data.tar.bz2/ and here https://ai.googleblog.com/2012/05/from-words-to-concepts-and-back.html.
Yago is taken from: https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/ambiverse-nlu/aida/downloads/ . It is the aida_means.tsv.bz2 file.

Great thanks. I had found #18 already.


MS Edge does not add extension

download(blob, fileName);
blob.type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
All browsers download the file with .xlsx extension, except Edge. Edge just downloads file with fileName without any extension.

This works for me:
download( resp.responseBytes, 'file.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

I got a similar problem in Electron on Windows: https://github.com/rndme/download/issues/91

There's a compatibility note on MDN:

Edge 17 or older didn't follow the attributes' value to determine filename (bug 7260192).

Does anyone have an idea for a workaround?

Newer versions of edge should work just fine.


Minor changes to some math code

Hi. I saw the other PR and merged it first. If you'd like to resolve the conflicts then I'll merge this one, too.

No problems. It was only a difference in variable name - all good now.


Platform Feature –

User Story
Describe the solution you'd like
MVP Functionality (Describe the minimum functionality for putting in production)
Other Specifications
Additional context

test done during workshop


Use python zipfile instead of unzip shell command

With the DLAAS June release, LCM assumes/requires all the learner images have bash unzip package which some community images such as PyTorch and Caffe don't come with it natively. Thus, as a work around, I changed the unzip command to use python zipfile because all our community images have python installed. However, we may need a better solution in the future where some images only have R or Julia for their runtimes.
@sboagibm what do you think? Thanks in advance.
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

LGTM


Anonymous struct

Sorry I have another question.
I am using sqlx::query! and it creates an anonymous struct based on the query.
https://github.com/launchbadge/sqlx/blob/1ed75ba5f03ad9e4ee04ffd362c8bda2b4857562/src/macros.rs#L278
Looks like I cannot use that struct directly in to the returned value of resolvers?

Sorry I have another question.
I am using sqlx::query! and it creates an anonymous struct based on the query.
https://github.com/launchbadge/sqlx/blob/1ed75ba5f03ad9e4ee04ffd362c8bda2b4857562/src/macros.rs#L278
Looks like I cannot use that struct directly in to the returned value of resolvers?

If it is a dynamic object and the internal fields are uncertain, you can only use async_graphql::Json.

Yeah cool thanks! looks like async_graphql::Json needs a type parameter?
I still get an error even if I try to supply something, it still doesn't work.
mismatched types
expected struct `Vec<async_graphql::Json<Store>>`
   found struct `Vec<store::Query::stores::{closure#0}::Record>`rustcE0308`

I guess probably not a good idea to use anonymous struct.

Yeah cool thanks! looks like async_graphql::Json needs a type parameter?
I still get an error even if I try to supply something, it still doesn't work.
mismatched types
expected struct `Vec<async_graphql::Json<Store>>`
   found struct `Vec<store::Query::stores::{closure#0}::Record>`rustcE0308`

I guess probably not a good idea to use anonymous struct.

What you want should be a dynamic schema, this async-graphql is not supported.

Yeah cool thanks! looks like async_graphql::Json needs a type parameter?
I still get an error even if I try to supply something, it still doesn't work.
mismatched types
expected struct `Vec<async_graphql::Json<Store>>`
   found struct `Vec<store::Query::stores::{closure#0}::Record>`rustcE0308`

I guess probably not a good idea to use anonymous struct.

What you want should be a dynamic schema, this async-graphql is not supported.

Yeah thanks, I will look around further

Yeah thanks, I will look around further


Change "switch" (reserved word) to "swap".

Line 58 of dom.js has "switch".

Closing this issue due to age and the release of version 1 of Polymer - please feel free to re-open if this is incorrect.


ignore langs w/o geo coords - improved tooltips

If you are working on the tooltips it would be useful to also decrease the
padding and margins so that they overlap less.
Hans-Jörg Bibiko<EMAIL_ADDRESS>schrieb am Fr., 13. Nov. 2020,
16:57:

@Bibiko https://github.com/Bibiko requested your review on: #20
https://github.com/cldf/cldfofflinebrowser/pull/20 ignore langs w/o geo
coords - improved tooltips.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/cldf/cldfofflinebrowser/pull/20#event-3994117083, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGUOKFR4SAVOR774SYEEVLSPVJOPANCNFSM4TUXVYLQ
.


Advocates Navigation

I've created and left in pending test for the admin links which should pass once the Admin page is ready to be plugged into the application.

Closing because I'm going to create a merged version of Advocates and Caseworkers.


Migrate/Extend Stale management to Github Action

https://docs.github.com/en/actions/managing-issues-and-pull-requests/closing-inactive-issues
With this PR I propose to move the stale management to use the regular Github Action:

to standardize and lower the barrier to the external contribution
to extend the stale management coverage

All days thresholds  were temp set to -1 so that we could discuss the numbers here.
Complete options list:
https://github.com/marketplace/actions/close-stale-issues

/cc @learning-to-play @tensorflow/dev-support

Please check also this sorted list so that we could better fine-tune the labels that we want to handle in this PR:
https://github.com/tensorflow/tensorflow/issues?q=is%3Aopen+sort%3Aupdated-asc+

Hi @rthadur Can you please review this PR ? Thank you!

/cc @MichaelHudgins

@mihaimaruseac and @bhack  what are your thoughts on what the stale / closed values should be here.  The original 7 stale and 7 to close seem a bit short.

I'd say 1 month should be enough

Here we have multiple values that we have not set (-1).
The PR is editable on your side so we could differentiate the number of days x labels. We need to set something to replace -1
E.g. contribution welcome could have a different threshold from awaiting response etc..

The times LGTM.  Do we want to add any sort of freeze label to exempt-issue/pr-labels to disable bot if we want?

The times LGTM.  Do we want to add any sort of freeze label to exempt-issue/pr-labels to disable bot if we want?

Do you have any specific use case in mind?

For example the Python3.11 issue (https://github.com/tensorflow/tensorflow/issues/58032). We know is a roadmap of a large amount of work, so we would add a label to it to not automatically close / nag people.

Ok you can add this label to the repo and use
exempt-pr-labels:
https://github.com/marketplace/actions/close-stale-issues#exempt-pr-labels

Thank you all for sharing your inputs. Our team will take a look into github actions as a potential alternative workflow. We will also update the stale duration to 14 days for stale and another 14 days to close (total of 4 weeks). I will update this thread once the change is in effect/additional updates. cc @pradeepkuppla

Just to summarize the scope of this PR:

Enable the community contribution to the infrastructure on a well know DSL and transparent orchestration (GitHub Action)
Specialize stale management for different labels specially for the contribution specific labels.

As we we have accumulated over the years contribution labels it is really hard to cherry pick a contribution for the community as we don't re-triage regularly these labels and I suppose we don't know if we have a valid reviewer for the queue (I guessing this just by the public turnaround pings we have on PRs).
Also the code is full of TODO referring internal only url tickets so we don't have many inline source to contribute.
I don't know what @MichaelHudgins think about the current status of our label inclusivity but it would be nice to collect an opinion:
https://chaoss.community/metric-issue-label-inclusivity/


Boxy visual artifacts and black lines on mesh

Godot version
v4.0.alpha12.official [2c11e6d9e]
System information
Windows 10, Vulkan, AMD Radeon 580 Series (GPU)
Issue description
Running the Godot4Beginners course shows these visual artifacts on all meshes:

I do get these error messages:
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:702 - Condition "!mesh" is true.
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:683 - Condition "!mesh" is true.
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:213 - Condition "!mesh" is true.
  drivers/vulkan/rendering_device_vulkan.cpp:8594 - Attempted to free invalid ID:<PHONE_NUMBER>154721
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:217 - deleting mesh with active instances
Switch Scene Tab
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:702 - Condition "!mesh" is true.
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:683 - Condition "!mesh" is true.
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:213 - Condition "!mesh" is true.
  servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp:217 - deleting mesh with active instances

Steps to reproduce
Running the project
Minimal reproduction project
No response

@paddy-exe Can you still reproduce this in 4.3.dev5 or later? If so, please upload a MRP.

@Calinou 4.3 dev6 indeed fixes this issue


[FEATURE] Get live chat when user goes live

Is your feature request related to a problem? Please describe.
So, some streamers have stream rooms up before they stream, right?
And some of them even disable the live chat before the stream actually begins, like an hour or less before it actually starts.
Describe the solution you'd like
So, rather than manually trying to re-enter the command line or refreshing sites like Youtube to see if the live chat's available to public, I'm suggesting some kind of retry system to keep the command running and grab the live chats when it starts.
Additional context
Sorry if what I'm requesting is already a thing with python scripts, like below? gist.github.com/plieningerweb/39e47584337a516f56da105365a2e4c6
I'll try the link above first to run the feature that I want, although I can only copy paste stuffs since I don't understand much other than texts. So, I'm hoping this feature could be added if I fail to run it. Also, I'm going to sleep so yeah

Sure I can add something like this! 👍

Hi, I'm actually not sure what to do if the code becomes buggy after I tamper with it, so I'll just wait for the feature. Sorry to bother you, though.

Hi, I'm actually not sure what to do if the code becomes buggy after I tamper with it, so I'll just wait for the feature. Sorry to bother you, though.

No worries. I am currently working on improving documentation (and some other improvements), but I will get to it as soon as possible. If you don't mind, can you take a look at https://github.com/xenova/chat-downloader/issues/61#issuecomment-780898860? Just so I can close that issue. Thanks!

I already posted this, but I'm not sure if I accidentally deleted my post or if there's a network bug.
I made this shell script to achieve what you're trying to do.
#!/bin/sh
channel="$1"

get_live_url() {
	_channel="$1"

	_video_code=$(youtube-dl --list-formats --playlist-end 1 "$_channel/live" | grep MPD)
	if [ -n "$_video_code" ]; then
		_url=${_video_code#*be] }
		_url="https://www.youtube.com/watch?v=${_url%:*}"
		echo "$_url"
	fi
}

while live_url=$(get_live_url "$channel"); do
	if [ -n "$live_url" ]; then
		chat_downloader "$live_url"
	else
		sleep 60
	fi
done

Cool, I'll check it tomorrow, thanks for the reply!

Great stuff @alnj 😃
This functionality has actually already been implemented in the docs branch and will be released as soon as possible. It currently works with a channel url/id (e.g. https://www.youtube.com/channel/UCSJ4gkVC6NrvII8umztf0Ow or just UCSJ4gkVC6NrvII8umztf0Ow), and I will add support for custom urls shortly (e.g. https://www.youtube.com/c/chilledcow or https://www.youtube.com/user/xxx)

@alnj I'll be honest, I have no idea how to work this script out, where should I put the channel / video url?
@xenova When is this gonna be ready? And will it work with only the channel url, like the next upcoming livestream will automatically be saved? If yes, that sounds like the perfect feature for me, so thank you.

I am quite busy during the week with university work, so I can only continue working on it over the weekend.

@artiction I initially made it for myself so it's a shell script that won't work on Windows (not sure what OS you're using).
After making it executable with chmod +x filename.sh you can call it with ./filename.sh [channel URL goes here]. This will run continuously, running chat_downloader on every public video, but you can also make it run on just the next one if you add a break or return in a new line after the chat_downloader line.

Sorry for the long wait... but I finally got around to adding this to the latest version (it was in the beta for the past few months).
You can now use the channel id of a user to search for live streams. If they are not streaming (i.e., no upcoming live stream or ongoing live stream), you will get the following message:
[INFO] There are no active or upcoming livestreams with a live chat. Retrying again in 30 seconds.

For example,
$ python -m chat_downloader https://www.youtube.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw
[INFO] Site: youtube.com
[INFO] Retrieving chat for "UC-lHJZR3Gqxm24_Vd_AJ5Yw".
[INFO] There are no active or upcoming livestreams with a live chat. Retrying again in 30 seconds.

Every 30 seconds, it retries and once the channel goes live, the chat will be captured.
Let me know if you have any further questions! 😃


InvalidCoordinates

Considering adding another option for the "clean_outsideUSA" function input. This new option would allow users to change the sign of the lat or long measurement so that the site is within the US. This is to deal with sites that are known to be in the US, but the site lat/long data was entered wrong. Data owners should go back and FIX this raw data through WQX... they can email the WQX helpdesk<EMAIL_ADDRESS>for assistance in fixing their raw data in WQX/WQP.
If LAT < 0, change LAT to positive
If LongitudeMeasure > 0 & LongitudeMeasure < 145 , change LONG to negative
Tests and make sure the logic above works.
There may be exceptions:

Guam has a neg latitude so we would need to account for that
Guam also has pos long
USMI (Mariana islands) pos lat and long

@katiehealy FYI I linked this issue to your pull request, so it will close automatically when that pull request is merged into develop


defaultFunctionName Text gets out of the border

While trying to create a new template, noticed the following...

And the followings...

Thanks,
David

moved to https://github.com/projectkudu/AzureFunctionsPortal/issues/1285


matterhorn: fix build for update

new version wants newer brick and vty than on stackage

Motivation for this change
it's that time again; matterhorn got updated and wants updated dependencies
Things done
made it use the versions of brick and vty it wants

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build matterhorn

Thx for the PR!


MQ Queue Manager Channel Name is disappearing form the JmsConnectionFactory when we use them across both JmsListener and JmsTemplate

**MQ Queue Manager Channel Name is disappearing form the JmsConnectionFactory when we use them across both JmsListener and JmsTemplate
Spring JMS - mq-jms-spring-boot-starter  (Version 2.0.0)
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
MQQueueConnectionFactory mqQueueConnectionFactory = new MQQueueConnectionFactory();
mqQueueConnectionFactory.setHostName(lsHost);
mqQueueConnectionFactory.setTransportType(WMQConstants.WMQ_CM_CLIENT);
mqQueueConnectionFactory.setChannel(lsChannel);
mqQueueConnectionFactory.setPort(loPort);
mqQueueConnectionFactory.setQueueManager(lsManager);
mqQueueConnectionFactory.setPollingInterval(loPollingInterval);
mqQueueConnectionFactory.setSSLSocketFactory(loSSLSocketFactory);
mqQueueConnectionFactory.setSSLFipsRequired(false);
mqQueueConnectionFactory.setSSLCipherSuite(lsSslCipherSuite);
mqQueueConnectionFactory.setSSLPeerName(lsSslPeerName);
CachingConnectionFactory loCacheConnFactory = new CachingConnectionFactory();
loCacheConnFactory.setTargetConnectionFactory(mqQueueConnectionFactory);
loCacheConnFactory.setSessionCacheSize(loCacheSize);
loCacheConnFactory.setCacheConsumers(true);
loCacheConnFactory.setReconnectOnException(true);
JmsTransactionManager loJmsTransactionManager = new JmsTransactionManager(loCachingConnectionFactory);
JmsTemplate loJmsTemplate = new JmsTemplate(loCachingConnectionFactory);
loJmsTemplate.setPubSubDomain(false);
loJmsTemplate.setDeliveryPersistent(true);
loJmsTemplate.setReceiveTimeout(loTimeOut);
loJmsTemplate.setSessionTransacted(true);
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(aCachingConnectionFactory);
factory.setCacheLevel(DefaultMessageListenerContainer.CACHE_CONSUMER);
factory.setConcurrency("1-5");
factory.setSessionTransacted(lbSessionTranscated);
factory.setAutoStartup(true);
factory.setReceiveTimeout(loTimeOut);
factory.setCacheLevel(DefaultMessageListenerContainer.CACHE_CONSUMER);
factory.setTransactionManager(loJmsTransactionManager);
SimpleJmsListenerEndpoint loEndPoint = new SimpleJmsListenerEndpoint();
loEndPoint.setMessageListener(loMessageListenerInstance);
loEndPoint.setDestination(lsQueueName);
DefaultMessageListenerContainer loListenerContainer = factory.
createListenerContainer(loEndPoint);
loListenerContainer.setMaxConcurrentConsumers(loMaxConcurrentConsumer);
loListenerContainer.setConcurrentConsumers(loConcurrentConsumer);
loListenerContainer.setIdleTaskExecutionLimit(loIdleTaskExeLimit);
loListenerContainer.setMaxMessagesPerTask(loMaxMsgPerTask);
loListenerContainer.setIdleConsumerLimit(loIdleConsumerLimit);
loListenerContainer.setAcceptMessagesWhileStopping(false);
loJmsTemplate.send(aQueueName, MessageCreator);
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] org.springframework.transaction.CannotCreateTransactionException: Could not create JMS transaction; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: Failed to connect to queue manager '' with connection mode 'Client' and host name 'RBSMQ-RS861AC.server.rbsgrp.net(5111)'.
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] at org.springframework.jms.connection.JmsTransactionManager.doBegin(JmsTransactionManager.java:234)
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:378)
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] at com.rbs.bdd.mq.clustered.framework.message.sender.impl.ClusteredMessageSenderImpl.sendMessageToQueue(ClusteredMessageSenderImpl.java:128)
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] at com.rbs.bdd.mq.clustered.framework.message.sender.impl.ClusteredMessageSenderImpl.sendMessage(ClusteredMessageSenderImpl.java:73)
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] at com.rbs.bdd.mq.clustered.framework.message.sender.impl.ClusteredVanquishTextMessageSenderImpl.dispatchMessage(ClusteredVanquishTextMessageSenderImpl.java:42)
2021-06-10T12:32:06.016+01:00 [APP/PROC/WEB/0] [ERR] at com.rbs.bdd.api.service.InwardRetrieveServiceImpl.sendMessageToClusteredQueue(InwardRetrieveServiceImpl.java:97)
2021-06-10T12:32:06.017+01:00 [APP/PROC/WEB/0] [ERR] at com.rbs.bdd.api.service.InwardRetrieveServiceImpl.processRetrieveRequest(InwardRetrieveServiceImpl.java:80)
2021-06-10T12:32:06.017+01:00 [APP/PROC/WEB/0] [ERR] at com.rbs.bdd.api.controller.InwardPaymentController.processRetrieveRequest(InwardPaymentController.java:53)
2021-06-10T12:32:06.017+01:00 [APP/PROC/WEB/0] [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2021-06-10T12:32:06.017+01:00 [APP/PROC/WEB/0] [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2021-06-10T12:32:06.017+01:00 [APP/PROC/WEB/0] [ERR] at
When we explicitly set mqQueueConnectionFactory.setChannel(lsChannel); before loJmsTemplate.send(aQueueName, MessageCreator); thing are working as expected! Not sure why channel is Vanished from the pre-configured ConnectionFactory object?**

I've got no real idea what's going on here. Your code doesn't compile (even when obvious variables like the qmgr and channel names are added) so it's rather difficult to know what you are trying to do. But I suspect that you are trying and not quite succeeding in bypassing the automatic connection configuration done by Spring Boot that sets defaults on connections when the CFs are created.
Though you also say you are using v2.0.0 of the starter which is 3 years old, and all kinds of things have changed since then.

I doubt very much that this is one long continuous method, but this is how you have written it. It makes it very hard to debug your code, as it appears that (even though you are on a back level version of the MQ Spring boot starter) your issue is in how you are making use of connection factory beans.
Let me explain why your its difficult to debug your code -
You initialise a CachingConnectionFactory as loCacheConnFactory, which you don't subsequently use.
You base your JmsTemplate on loCachingConnectionFactory, which is never initialised.
JmsTemplate loJmsTemplate = new JmsTemplate(loCachingConnectionFactory);

and you base your JmsListenerContainerFactory on aCachingConnectionFactory, which is nowhere else in your code.
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(aCachingConnectionFactory);

I would expect you to be using syntax similar to the configurations, components and beans defined in this sample - https://github.com/ibm-messaging/mq-dev-patterns/tree/master/Spring-JMS/src/main/java/com/ibm/mq/samples/jms/spring/level114

I've got no real idea what's going on here. Your code doesn't compile (even when obvious variables like the qmgr and channel names are added) so it's rather difficult to know what you are trying to do. But I suspect that you are trying and not quite succeeding in bypassing the automatic connection configuration done by Spring Boot that sets defaults on connections when the CFs are created.
Though you also say you are using v2.0.0 of the starter which is 3 years old, and all kinds of things have changed since then.

Hello Mark,
Many thanks for your review and suggestions,  I haven't pasted the full code in my previous post because I thought just a sample template would suffice. I have attached my full code here and it will help you to understand what we are trying to implement. I have upgraded the version to latest (2.4.2) as well.
Please let me know if you have any further queries on this. I am using multiple Queue Managers (load balanced QM's) and the code is dynamically creating the CF's and get assigned to JmsListeners and JmsTemplate.
Regards,
Lithesh


Missing information of the functionality for the different SQL Extension modes

[Enter feedback here]
Hi
I cant any information on the differences of functionality or information provided by the different extension modes. If we implement for instance Lightweight mode, what functionality will be unavailable versus implementing Full mode. The article should also include what kind of monitoring impact will the different modes have.
Let me know if  you have any questions
Regards,
Arne

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 24255026-2d1c-0607-77e6-f9dd10fbe8dd
Version Independent ID: 832ee4c2-a497-6db6-573d-5c9abe694b00
Content: What is the SQL Server IaaS Agent extension? - SQL Server on Azure VM
Content Source: articles/azure-sql/virtual-machines/windows/sql-server-iaas-agent-extension-automate-management.md
Service: virtual-machines-sql
Sub-service: management
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

Hi @ArneSaether , thanks for your feedback! The management modes section should have the information you're looking for:

Hi @ArneSaether , thanks for your feedback! The management modes section should have the information you're looking for:

@MashaMSFT Thanks for sharing the details.

@MashaMSFT Thanks for sharing the details.

NO, this does NOT say anything about the different functionality for each mode @MashaMSFT and @VikasPullagura-MSFT . Meaning what the different mode will actually GIVE you of functionality, so you need to re-open this case. The table you are referring to, is only showing impact the different installation/enabling will have on the SQL Server itself and cost.
I'm searching for information like;
Lightweight mode will only provide monitoring information about database size, number of databases, localization settings etc
Full mode will provide monitoring information about all the above, and in addition also cache hit ratio, successful SQL backup, number of blocked queries, active sessions etc, etc
Regards,
Arne

NO, this does NOT say anything about the different functionality for each mode @MashaMSFT and @VikasPullagura-MSFT . Meaning what the different mode will actually GIVE you of functionality, so you need to re-open this case. The table you are referring to, is only showing impact the different installation/enabling will have on the SQL Server itself and cost.
I'm searching for information like;
Lightweight mode will only provide monitoring information about database size, number of databases, localization settings etc
Full mode will provide monitoring information about all the above, and in addition also cache hit ratio, successful SQL backup, number of blocked queries, active sessions etc, etc
Regards,
Arne

Hi @ArneSaether , thanks for your further feedback! My apologies, I believe there may be some confusion. The only functionality provided by lightweight mode is portal integration (so that you can see the SQL virtual machine resource in the portal) and being able to change the license type or the version of SQL Server. That is the only functionality available in lightweight mode, and that is documented.
Full mode provides full functionality of all features. However, the only monitoring that is available in full mode is showing the amount of disk space used by the SQL data, SQL log, TempDB, and other SQL data files.  Unfortunately, the other information you've mentioned is not monitored and not available.
If this is something important to your business, please share your feedback with the product group directly: https://aka.ms/sqlfeedback.
I hope that helps and please let us know if you have any further questions.
Thanks!
Masha from the SQL Docs team

Hi @ArneSaether , thanks for your further feedback! My apologies, I believe there may be some confusion. The only functionality provided by lightweight mode is portal integration (so that you can see the SQL virtual machine resource in the portal) and being able to change the license type or the version of SQL Server. That is the only functionality available in lightweight mode, and that is documented.
Full mode provides full functionality of all features. However, the only monitoring that is available in full mode is showing the amount of disk space used by the SQL data, SQL log, TempDB, and other SQL data files.  Unfortunately, the other information you've mentioned is not monitored and not available.
If this is something important to your business, please share your feedback with the product group directly: https://aka.ms/sqlfeedback.
I hope that helps and please let us know if you have any further questions.
Thanks!
Masha from the SQL Docs team

Hi @ArneSaether , I appreciate your feedback! I processed a change to make it slightly more clear which features are available based on what management mode your extension is in, and added a note about the type of disk utilization monitoring available. These changes will be live later today.
I hope that helps! Please let us know if we can  help further.
Masha from the SQL Docs team

Hi @ArneSaether , I appreciate your feedback! I processed a change to make it slightly more clear which features are available based on what management mode your extension is in, and added a note about the type of disk utilization monitoring available. These changes will be live later today.
I hope that helps! Please let us know if we can  help further.
Masha from the SQL Docs team


Validate forms before submission

https://mcresourcepile.github.io/forms/maps

[ ] Fix contact form

White margin on bottom of page
Red line under submit button and discord/email textbox for error

[ ] Fix apply form marking yes for all three positions regardless of what is chosen.
[ ] Make any discord field follow abcd#1234 format.