mqtt: unimplemented MQTT_UNSUBACK in mqtt_parser function in mqtt.c file

static int mqtt_parser(struct mqtt_ctx *ctx, struct net_pkt *rx)
{
	u16_t pkt_type = MQTT_INVALID;
	struct net_buf *data = NULL;
	int rc = -EINVAL;

	data = mqtt_linearize_packet(ctx, rx, MQTT_PUBLISHER_MIN_MSG_SIZE);
	if (!data) {
		return -ENOMEM;
	}

	pkt_type = MQTT_PACKET_TYPE(data->data[0]);

	switch (pkt_type) {
	case MQTT_CONNACK:
		if (!ctx->connected) {
			rc = mqtt_rx_connack(ctx, data, ctx->clean_session);
		} else {
			rc = -EINVAL;
		}
		break;
	case MQTT_PUBACK:
		rc = mqtt_rx_puback(ctx, data);
		break;
	case MQTT_PUBREC:
		rc = mqtt_rx_pubrec(ctx, data);
		break;
	case MQTT_PUBCOMP:
		rc = mqtt_rx_pubcomp(ctx, data);
		break;
	case MQTT_PINGRESP:
		rc = mqtt_rx_pingresp(ctx, data);
		break;
	case MQTT_PUBLISH:
		rc = mqtt_rx_publish(ctx, data);
		break;
	case MQTT_PUBREL:
		rc = mqtt_rx_pubrel(ctx, data);
		break;
	case MQTT_SUBACK:
		rc = mqtt_rx_suback(ctx, data);
		break;
	default:
		rc = -EINVAL;
		break;
	}

	if (rc != 0 && ctx->malformed) {
		ctx->malformed(ctx, pkt_type);
	}

	net_pkt_frag_unref(data);

	return rc;
}

running log:
publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS2, user_data: SUBSCRIBE
[publisher_subscriber:484] mqtt_tx_publish: 0
[malformed_cb:277] pkt_type: 11
[disconnect_cb:104] user_data: DISCONNECTED
[publisher_subscriber:491] mqtt_tx_disconnect: 0

i found a function in the mqtt.c
int mqtt_rx_unsuback(struct mqtt_ctx *ctx, struct net_buf `*rx)

and i think just need fix the missing case in the function mqtt_parser
case MQTT_UNSUBACK:
        rc = mqtt_rx_unsuback(ctx, data);
        break;

can you please submit a PR with this fix?

@nashif  I will try to do it . I add the code rc = mqtt_rx_unsuback(ctx, data); to mqtt_parser and test it on nucleo_f429zi board.

@XXXXzzzz000  yes  I think you are right. add the code to mqtt_parser and the run log following.
static int mqtt_parser(struct mqtt_ctx *ctx, struct net_pkt *rx)
{
u16_t pkt_type = MQTT_INVALID;
struct net_buf *data = NULL;
int rc = -EINVAL;
data = mqtt_linearize_packet(ctx, rx, MQTT_PUBLISHER_MIN_MSG_SIZE);
if (!data) {
	return -ENOMEM;
}

pkt_type = MQTT_PACKET_TYPE(data->data[0]);

switch (pkt_type) {
case MQTT_CONNACK:
	if (!ctx->connected) {
		rc = mqtt_rx_connack(ctx, data, ctx->clean_session);
	} else {
		rc = -EINVAL;
	}
	break;
case MQTT_PUBACK:
	rc = mqtt_rx_puback(ctx, data);
	break;
case MQTT_PUBREC:
	rc = mqtt_rx_pubrec(ctx, data);
	break;
case MQTT_PUBCOMP:
	rc = mqtt_rx_pubcomp(ctx, data);
	break;
case MQTT_PINGRESP:
	rc = mqtt_rx_pingresp(ctx, data);
	break;
case MQTT_PUBLISH:
	rc = mqtt_rx_publish(ctx, data);
	break;
case MQTT_PUBREL:
	rc = mqtt_rx_pubrel(ctx, data);
	break;
case MQTT_SUBACK:
	rc = mqtt_rx_suback(ctx, data);
	break;
case MQTT_UNSUBACK:
	rc = mqtt_rx_unsuback(ctx, data);
	break;
default:
	rc = -EINVAL;
	break;
}

if (rc != 0 && ctx->malformed) {
	ctx->malformed(ctx, pkt_type);
}

net_pkt_frag_unref(data);

return rc;

}
lsb-ThinkPad-E470:~$ mosquitto_sub -t "sensors" -v
sensors DOORS:OPEN_QoS0
sensors DOORS:OPEN_QoS1
sensors DOORS:OPEN_QoS2
sensors DOORS:OPEN_QoS0
sensors DOORS:OPEN_QoS1
sensors DOORS:OPEN_QoS2
sensors DOORS:OPEN_QoS0
sensors DOORS:OPEN_QoS1
sensors DOORS:OPEN_QoS2
sensors DOORS:OPEN_QoS0
sensors DOORS:OPEN_QoS1
sensors DOORS:OPEN_QoS2
sensors DOORS:OPEN_QoS0
sensors DOORS:OPEN_QoS1
sensors DOORS:OPEN_QoS2
sensors DOORS:OPEN_QoS0
sensors DOORS:OPEN_QoS1
sensors DOORS:OPEN_QoS2
***** Booting Zephyr OS 1.12.99 *****
[publisher_subscriber:431] network_setup: 0
[publisher_subscriber:438] mqtt_init: 0
[publisher_subscriber:445] mqtt_connect: 0
[connect_cb:85] user_data: CONNECTED
[try_to_connect:339] mqtt_tx_connect: 0
[publisher_subscriber:456] try_to_connect: 0
[publisher_subscriber:461] mqtt_subscribe ... [subscriber_cb:236] items: 1 packet id: 51395 user_data: SUBSCRIBE
[publisher_subscriber:470] mqtt_tx_pingreq: 0
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS0, user_data: SUBSCRIBE
[publisher_subscriber:475] mqtt_tx_publish: 0
[publish_cb:151] <MQTT_PUBACK> packet id: 26527, user_data: PUBLISH
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS1, user_data: SUBSCRIBE
[publisher_subscriber:480] mqtt_tx_publish: 0
[publish_cb:151] <MQTT_PUBREC> packet id: 36916, user_data: PUBLISH
[publish_cb:151] <MQTT_PUBCOMP> packet id: 36916, user_data: PUBLISH
[publisher_subscriber:485] mqtt_tx_publish: 0
[publisher_subscriber:470] mqtt_tx_pingreq: 0
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS0, user_data: SUBSCRIBE
[publisher_subscriber:475] mqtt_tx_publish: 0
[publish_cb:151] <MQTT_PUBACK> packet id: 21426, user_data: PUBLISH
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS1, user_data: SUBSCRIBE
[publisher_subscriber:480] mqtt_tx_publish: 0
[publish_cb:151] <MQTT_PUBREC> packet id: 17407, user_data: PUBLISH
[publish_cb:151] <MQTT_PUBCOMP> packet id: 17407, user_data: PUBLISH
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS2, user_data: SUBSCRIBE
[publisher_subscriber:485] mqtt_tx_publish: 0
[publisher_subscriber:470] mqtt_tx_pingreq: 0
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS0, user_data: SUBSCRIBE
[publisher_subscriber:475] mqtt_tx_publish: 0
[publish_cb:151] <MQTT_PUBACK> packet id: 18827, user_data: PUBLISH
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS1, user_data: SUBSCRIBE
[publisher_subscriber:480] mqtt_tx_publish: 0
[publish_cb:151] <MQTT_PUBREC> packet id: 36248, user_data: PUBLISH
[publish_cb:151] <MQTT_PUBCOMP> packet id: 36248, user_data: PUBLISH
[publish_rx_cb:188] <MQTT_PUBLISH> msg->pkt_id = 0x0 msg->topic_len = 7 topic = sensorsmsg->msg_len = 15 msg: DOORS:OPEN_QoS2, user_data: SUBSCRIBE
[publisher_subscriber:485] mqtt_tx_publish: 0
[publisher_subscriber:488] mqtt_unsubscribe ... [unsubscribe_cb:259] packet id: 49670 user_data: UNSUBSCRIBE
[disconnect_cb:104] user_data: DISCONNECTED
[publisher_subscriber:493] mqtt_tx_disconnect: 0
Bye!

ThinkPad-E470:~$ mosquitto -v
1531148576: mosquitto version 1.4.5 (build date 2017-10-25 22:14:47+0800) starting
1531148576: Using default config.
1531148576: Opening ipv4 listen socket on port 1883.
1531148576: Opening ipv6 listen socket on port 1883.
1531148591: New connection from <IP_ADDRESS> on port 1883.
1531148591: New client connected from <IP_ADDRESS> as mosqsub/5981-lsb-ThinkP (c1, k60).
1531148591: Sending CONNACK to mosqsub/5981-lsb-ThinkP (0, 0)
1531148591: Received SUBSCRIBE from mosqsub/5981-lsb-ThinkP
1531148591: 	sensors (QoS 0)
1531148591: mosqsub/5981-lsb-ThinkP 0 sensors
1531148591: Sending SUBACK to mosqsub/5981-lsb-ThinkP
1531148616: New connection from <IP_ADDRESS> on port 1883.
1531148616: New client connected from <IP_ADDRESS> as zephyr_publisher (c1, k0).
1531148616: Sending CONNACK to zephyr_publisher (0, 0)
1531148616: Received SUBSCRIBE from zephyr_publisher
1531148616: 	sensors (QoS 0)
1531148616: zephyr_publisher 0 sensors
1531148616: Sending SUBACK to zephyr_publisher
1531148617: Received PINGREQ from zephyr_publisher
1531148617: Sending PINGRESP to zephyr_publisher
1531148617: Received PUBLISH from zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148617: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148617: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148618: Received PUBLISH from zephyr_publisher (d0, q1, r0, m11185, 'sensors', ... (15 bytes))
1531148618: Sending PUBACK to zephyr_publisher (Mid: 11185)
1531148618: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148618: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148618: Received PUBLISH from zephyr_publisher (d0, q2, r0, m46876, 'sensors', ... (15 bytes))
1531148618: Sending PUBREC to zephyr_publisher (Mid: 46876)
1531148618: Received PUBREL from zephyr_publisher (Mid: 46876)
1531148618: Sending PUBCOMP to zephyr_publisher (Mid: 46876)
1531148618: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148618: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148619: Received PINGREQ from zephyr_publisher
1531148619: Sending PINGRESP to zephyr_publisher
1531148619: Received PUBLISH from zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148619: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148619: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148620: Received PUBLISH from zephyr_publisher (d0, q1, r0, m44260, 'sensors', ... (15 bytes))
1531148620: Sending PUBACK to zephyr_publisher (Mid: 44260)
1531148620: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148620: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148620: Received PUBLISH from zephyr_publisher (d0, q2, r0, m24526, 'sensors', ... (15 bytes))
1531148620: Sending PUBREC to zephyr_publisher (Mid: 24526)
1531148620: Received PUBREL from zephyr_publisher (Mid: 24526)
1531148620: Sending PUBCOMP to zephyr_publisher (Mid: 24526)
1531148620: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148620: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148621: Received PINGREQ from zephyr_publisher
1531148621: Sending PINGRESP to zephyr_publisher
1531148621: Received PUBLISH from zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148621: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148621: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148622: Received PUBLISH from zephyr_publisher (d0, q1, r0, m51296, 'sensors', ... (15 bytes))
1531148622: Sending PUBACK to zephyr_publisher (Mid: 51296)
1531148622: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148622: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148622: Received PUBLISH from zephyr_publisher (d0, q2, r0, m21881, 'sensors', ... (15 bytes))
1531148622: Sending PUBREC to zephyr_publisher (Mid: 21881)
1531148622: Received PUBREL from zephyr_publisher (Mid: 21881)
1531148622: Sending PUBCOMP to zephyr_publisher (Mid: 21881)
1531148622: Sending PUBLISH to mosqsub/5981-lsb-ThinkP (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148622: Sending PUBLISH to zephyr_publisher (d0, q0, r0, m0, 'sensors', ... (15 bytes))
1531148623: Received UNSUBSCRIBE from zephyr_publisher
1531148623: 	sensors
1531148623: zephyr_publisher sensors
1531148625: Received DISCONNECT from zephyr_publisher
1531148625: Client zephyr_publisher disconnected.
1531148651: Received PINGREQ from mosqsub/5981-lsb-ThinkP
1531148651: Sending PINGRESP to mosqsub/5981-lsb-ThinkP


Skip pyethash dependency in Windows

py-evm Version: 0.2.0a11
OS: win

What is wrong?
pyethash won't build on Windows, and probably won't anytime soon. See ConsenSys/ethjsonrpc#5

The ethash code is C99, which is not well-supported under Windows.

This makes it impossible to install py-evm on Windows, as well as any package that depends on py-evm like the test suite in web3.py. (See https://github.com/ethereum/web3.py/issues/166)
How can it be fixed
A couple options come to mind:

Skip the pyethash install on Windows, so that Windows users can install the EVM without mining capability
Move the pyethash dependency to an "extra" called something like mining.

Number 1 seems better, because it supports mining with a default installation, in non-Windows environments. Number 2 requires an install like pip install py-evm[mining] to support mining.
Does anyone see problems with 1 or 2, or a better solution?

Does anyone see problems with 1 or 2

So, yeah, it's used for pow verification as well as generation. So... this is a no-go until pyethash (or some alternative) is made to work on Windows.


[WIP] - First draft support converting JSON Snippets using Convertto-Bicep

A first draft to fix feature request #105.
To use the feature:
$jsonSnippet = @"
[
  {
    "properties": {
      "NSGName": "subnet2-nsg",
      "SubnetName": "subnet2",
      "RouteName": "",
      "disableBgpRoutePropagation": true,
      "routes": []
    }
  },
  {
    "properties": {
      "NSGName": "subnet3-nsg",
      "SubnetName": "subnet3",
      "RouteName": "",
      "disableBgpRoutePropagation": false,
      "routes": []
    }
  }
]S
"@
Convertto-Bicep -ARMSnippet $jsonSnippet

I'm not sure I like the name "ARMSnippet" for the parameter. I suggest we simply name it "String" instead.
Convertto-Bicep -String $jsonSnippet

Much better @PalmEmanuel. I was searching for a better name for it.


Easier JSR installation

Hi, ideally there should be
deno add @cliffy/command

or
deno add @cliffy

Neither of these work.
I see that currently one needs to use this (please correct me if there's a shorter version i'm missing):
deno add jsr<EMAIL_ADDRESS>
Also, [docs improvement request] I'm not sure where a simple command for installation of cliffy is in the docs/website, I would suggest having one in the readme.

Which version of Deno were you running? In v2.0.5 the error has been updated to be more helpful.
<=2.0.4
deno add jsr:@cliffy/command
error: jsr:@cliffy/command was not found.

>2.0.5
deno add jsr:@cliffy/command
error: jsr:@cliffy/command has only pre-release versions available. Try specifying a version: `deno add jsr<EMAIL_ADDRESS>


Add an Animation Resource

Fixes #982
Changes proposed

I have added an animation resource to the website.
Screenshots

Note to reviewers

This PR is part of GSSoC'23.

Hey @CBID2, I have updated it. Have a look!

@Sriparno08 could you please resolve conflicts?

Fixed, @rupali-codes!


Extract tool issues

There are a couple problems with the extract tool (tool/extract.dart) on the flutter website.

It doesn't recurse. When it was implemented, the flutter website had a flat structure, but I'm adding some subdirectories. Those aren't being checked.

It's too strict. It's fine to check the code snippets for errors and warnings, but checking for hints is too draconian. It's not unusual to have code snippets with an unused variable, for example, and even that causes a failure.

To avoid the hints, there's a trick where you put a comment before the snippet that has code in it that declares all the implicit variables you're using.

(You do want to have all the hints because otherwise when the framework changes, it'll just change from having no warnings to having ignored warnings, instead of catching the problem.)

Thanks, @hixie. I'll have to experiment with that comment. I definitely don't want to ignore warnings or errors.

We've addressed #1 with putting samples into their own directories, and our travis now analyzes those files.
We can control #2 with analyzer options files and line-level ignores. I'd like to open a new issue specific for "how to best analyze our snippets for our website". We may want to check for some hints, but not all.
Closing this for now, but when you're ready to do line-level ignores, we'll help you out. Thanks!


Flaky test: [It] should delete redundant Pods

Flaky test: TFJob controller Test Scale Down [It] should delete redundant Pods.
------------------------------
• [FAILED] [30.010 seconds]
TFJob controller Test Scale Down [It] should delete redundant Pods
/home/runner/work/training-operator/training-operator/go/src/github.com/kubeflow/training-operator/pkg/controller.v1/tensorflow/pod_test.go:278

  Timeline >>
  2023-07-04T05:44:36Z	DEBUG	events	Error creating: pods "test-scale-down-worker-1" already exists	{"type": "Warning", "object": {"kind":"TFJob","namespace":"default","name":"test-scale-down","uid":"74483f51-18e0-406f-a6e7-78a41b923883"}, "reason": "FailedCreatePod"}
  2023-07-04T05:44:36Z	INFO	Starting workers	{"controller": "tfjob-controller", "worker count": 1}
  2023-07-04T05:44:36Z	INFO	TFJob.kubeflow.org "test-exit-code" not found	{"tfjob": {"name":"test-exit-code","namespace":"default"}, "unable to fetch TFJob": "default/test-exit-code"}
  2023-07-04T05:44:36Z	INFO	TFJob.kubeflow.org "test-scale-down" not found	{"tfjob": {"name":"test-scale-down","namespace":"default"}, "unable to fetch TFJob": "default/test-scale-down"}
  [FAILED] in [It] - /home/runner/work/training-operator/training-operator/go/src/github.com/kubeflow/training-operator/pkg/controller.v1/tensorflow/pod_test.go:338 @ 07/04/23 05:45:06.562
  << Timeline

  [FAILED] Timed out after 30.000s.
  Expected
      <bool>: false
  to be true
  In [It] at: /home/runner/work/training-operator/training-operator/go/src/github.com/kubeflow/training-operator/pkg/controller.v1/tensorflow/pod_test.go:338 @ 07/04/23 05:45:06.562
------------------------------

https://github.com/kubeflow/training-operator/actions/runs/5451231793/jobs/9917258442?pr=1847#step:4:129

Maybe, we should run each test in different namespaces. Currently,  we run almost tests in the default namespace.

/lifecycle frozen


about extracting features

I check out your code(https://github.com/yl-1993/hfsoftmax.git) and switch to branch ltc for extracting feature using pretrained model(https://drive.google.com/file/d/1eKsh7x-RUIHhIJ1R9AlUjsJdsdbh2qim/view) you provide in learn-to-cluster(https://github.com/yl-1993/learn-to-cluster/blob/master/DATASET.md). But I can not extract good features(diff from part0_train.bin you provide) and then the knn generated by my extracting features is not good as well.What's wrong with this situation？
Thanks.

Hi, I have the same question as you. The features extracted by the pretrained model are much worse than those provided. Besides, I found that the provided features (such as part0_train.bin) are normalized, so I think the author may not use this script (https://github.com/yl-1993/hfsoftmax.git) to extract the features. Do you have any solutions?
@jumptoliujj @yl-1993

I have no idea. Please tell me the solution if you find out. Thanks.
@dubdynasty

No idea, too... Perhaps we have to train the feature extractor on part0 by ourselves.


"Open with..." does not open a picker when there is no custom editor

I would expect the picker even when there is just 1 custom editor.

I'm not seeing this, I see a picker with just text editor in it.

While testing this, have we ever asked ourselves if the "gear" icon is the right one to associate the editor as default?

I somehow would have expected settings editor to open when I click, not that the association changes by default.
//cc @misolori

I gave this feedback before as well that the gear does not communicate that action. I'd expect a similar "Change default" item at the bottom of the quick pick like the Formatter option as that is more clear/explicit:


[Feature/Identity] Permissions check API

Description
Companion PR in opensearch-sdk-java that shows this in use: https://github.com/opensearch-project/opensearch-sdk-java/pull/118
This PR introduces an AuthorizationRequest that is intended to be used to evaluate whether a user is permitted to perform an action. This is experimental and used for prototyping AuthN/AuthZ. The AuthorizationRequest is intended to encapsulate all parameters needed to perform authorization on any request in OpenSearch. Where authorization is performed is being determined and this PR proposes a simple interface that encapsulates the information needed for authorization.
The AuthenticationRequest is a minimal interface that contains information about the requester (PrincipalIdentifierToken introduced in: https://github.com/opensearch-project/OpenSearch/pull/4299), a permissionId and a map of parameters that can be checked to see if the request fits within a user's permitted actions and constraints. PermissionId is a new concept and will be expanded on in future PRs. PermissionId can be thought of as action name for this PR.
The AuthorizationResponse is also minimal and contains a message and an AuthorizationStatus of granted or denied.
I would welcome any feedback on the design of the interface to see if this is suitable for most requests.
Issues Resolved
https://github.com/opensearch-project/opensearch-sdk-java/issues/40
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@cwperks I moved this PR to target feature/identity where we have more flexiblity

@cwperks I moved this PR to target feature/identity where we have more flexiblity

@peternied Its hard to see the changes this PR is introducing now. Would it be possible to update the feature/identity branch with the latest changes in feature/extensions?

@peternied Any idea what's going on with the CI check here?
I see BUILD SUCCESSFUL in 22m 14s in jenkins, but this is saying UNSTABLE.

I see 2 test failures:
Tests with failures:
 - org.opensearch.action.admin.cluster.node.tasks.ResourceAwareTasksTests.testTaskResourceTrackingDuringTaskCancellation
 - org.opensearch.index.ShardIndexingPressureConcurrentExecutionTests.testReplicaThreadedUpdateToShardLimitsAndRejections

Are these known flaky tests?

Any idea what's going on with the CI check here?
@cwperks Nope! But I'm not going to work about it, as they look supremely unrelated to what we are doing.  I am going to merge without passing CI... and I'll fix it if this is actually busted instead of an intermittent failure


Issue 02

Chris' Story
As a boot camp student,
I want the challenge work to be centrally located
so that I can submit clear and concise work
Acceptance Criteria
GIVEN a webpage meets accessibility standards
WHEN I view the structure of the HTML elements
THEN I find that the elements follow a logical structure independent of styling and positioning

REsolved


Work with Nuget packages containing DbContexts and Migrations. / Work with separate dlls containing context.

The issue
@natemcmaster could you advise on following:

My Server model (DB) is separated on various contexts about 5-7 on separated dll's (packages).
The server models will be stored in nuget. So the contexts and configurations of EF API will be stored there too.
I want to run the migrations on my web project(s) that references the packages.
The contexts could target one DB or multiples from various projects.

Earlier those issues can be resolved by storing particular dlls and running migrate.exe on them. So, the defined migrations in these dll's ran.
How could i use dotnet ef tool on the particular package to do the migrations defined in the particular package?
Steps to reproduce

Create 3 packages with DbContext and some sample classes.
Add migrations to all of them.
Publish them on Nuget or other Nuget based feed.
Create new web project.
Add the packages.
Try to Run migrations on the contexts defined in the packages.

Probable Workaround
Somehow execute the dotnet ef on dll that is stored in default nuget packages directory...
[if there is no solution] Design Suggestions.
I can see two possible solutions for multiple contexts, that are used to define the various databases(my case):

Define Migrations only in Web Project (or other project that is the entry point that require Db usage)
Define required Migrations on every package (as it is now defined for me)

[if there is no solution] Suggested probable solutions

Scan solution references to determine if there somewhere the inherited class from DbContext defined and let use(list) it if we run dotnet ef commands for the web project.
Allow dotnet ef to run based on installed package. Just to target the package that has the particular context.
Let dotnet ef to execute builded dll's like My.Models.dll. (More a workaround for me)
Find another way to determine contexts in packages :)

dotnet-ef currently requires a project.json file; it can't be used on assemblies directly.
If the DbContext types have been added to the consuming web app's services using IServiceContainer.AddDbContext<T>(), you should be able to call dotnet ef database update as you would on any other DbContext.
We also have issue #646 which is a tool more similar to migrate.exe which can work directly with assemblies.

Another alternative is to have the consuming application call the DbContext.Database.Migrate() API

Closing as a dupe of #646


Expected behavior?

Hello,
I'm trying to run your software, so far it only prints out the following:
[2020-03-17 13:24:55.526923][strategy params]beta:1.40 volatility:nan|rpnl=0.00
And that's it, nothing else happens. Is it supposed to be like this?

definitely not. I'm working on improving the strategy parameters and pairs trading methodology as a whole, be on the lookout for an update in the coming days


After conda installation, metalign command does not work

(This may be a simple issue that can be immediately closed)
I used the conda installation instruction from here on two different machines. After completing the installation, the command metalign is not found by the system. (Should I be trying to invoke some other command?)
I could not immediately figure out how to run the tool only from this and this. I have tried to clone the git repository and then run on what I have cloned, but I am not sure what to do next. Should I be downloading data using the shell script? How should I build my own database, and/or how should I use the database?

Hello, and thanks for your interest in Metalign. The command you should use is "metalign.py", not just "metalign". Can you try and see if this works?
First, you'll need to download the database as described here (by running setup_data.sh). Currently we do not support building a custom database, and we are unlikely to add this feature in the future, unfortunately.

Yeah, the command metalign.py works. I thought the conda installation will install a command not named same as the script, hence the confusion. Perhaps an additional line in the readme mentioning the name might be helpful. Thanks!


Look into other kinds of text alignment that users find hard to read

What
Look into other kinds of text alignment that users find hard to read.
Why
In our typography guidance, the 'Text alignment override classes section' advises users to avoid:

aligning body copy to the right
'justifying' blocks of text so that they're aligned to the left and right margins

However, we've had user feedback about other kinds of alignment that give users difficulties:

Short centre aligned text is also, not only hard to find but liable to be missed entirely by people using magnification concentrating on the left side of the page.
Multiline centred text also requires finding the start of each line in a different place, especially difficult at high magnifications.

Who needs to work on this
Accessibility specialist, content designer, maybe some other roles (user researcher? technical writer?)
Who needs to review this
Not sure
Done when

[ ] We have updated our guidance to include advice on centred text and any other alignment issues worth mentioning

I looked at the guidance on this page and it seems to be aligned with the user feedback from the brief. I haven't found any other text alignment issues to add, so I think this issue can be closed


building netty 4.1.0 beta 6 on jdk 6?

I apologize in advance but I couldn't figure out how to disable the building of sections which require npn/alpn to get netty 4.1.0b6 built under JDK6. :)
As far as I can tell all the profiles for npn-boot.jar or alpn-boot.jar require at least JDK7.
% mvn compile
[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project io.netty:netty-handler:4.1.0.Beta6 (/data/home/kajtzu/src/git/netty-4.1.0.Beta6/handler/pom.xml) has 2 errors
[ERROR]     'dependencies.dependency.version' for org.mortbay.jetty.npn:npn-boot:jar must be a valid version but is '${jetty.npn.version}'. @ io.netty:netty-parent:4.1.0.Beta6, /data/home/kajtzu/src/git/netty-4.1.0.Beta6/pom.xml, line 675, column 18
[ERROR]     'dependencies.dependency.version' for org.mortbay.jetty.alpn:alpn-boot:jar must be a valid version but is '${jetty.alpn.version}'. @ io.netty:netty-parent:4.1.0.Beta6, /data/home/kajtzu/src/git/netty-4.1.0.Beta6/pom.xml, line 685, column 18
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

% mvn --version
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00)
Maven home: /home/kajtzu/apache-maven-3.2.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-1.6.0-sun-<IP_ADDRESS>/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.9-103.elsmp", arch: "amd64", family: "unix"

Is this supposed to work?

@kjniemi you need java7 to build but can run the built jar on java6.

agreed, my bad. I should have read the documentation better. I will repent. :-)


Update mixsimulator experiment (benchmark)

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Motivation and Context / Related issue

How Has This Been Tested (if it applies)

Checklist

[ ] The documentation is up-to-date with the changes I made.
[ ] I have read the CONTRIBUTING document and completed the CLA (see CLA).
[ ] All tests passed, and additional code has been covered with new tests.

This breaks the previous behavior, but maybe this is the right thing to do as the new version is more interesting / realistic.

Run "Black nevergrad" for solving the issues in the static test, that should be easy.

Maybe add mixsimulator in https://github.com/facebookresearch/nevergrad/blob/5a914cd3a6aa215fcaa253aff770a86f0ca59f32/nevergrad/benchmark/test_experiments.py#L46   for solving the slowness issue ? Check that it passes with pytest -k mixsimu nevergrad
Still not sure why it's that slow... this is supposed to be a fast run with very low budget = 2.

yes, thanks

Maybe add mixsimulator in
https://github.com/facebookresearch/nevergrad/blob/5a914cd3a6aa215fcaa253aff770a86f0ca59f32/nevergrad/benchmark/test_experiments.py#L46
for solving the slowness issue ? Check that it passes with pytest -k mixsimu nevergrad
Still not sure why it's that slow... this is supposed to be a fast run with very low budget = 2.

got it! We work on it

maybe adding:
if "mixsimu" in name and os.environ.get("CIRCLECI", False):         raise SkipTest("Too slow in CircleCI")
will work?

Please merge master within your branch, that will remove some problems

Thanks, it helped us 😊

Thanks for your help

Merged, thanks ;)

Merged, thanks ;)

thank youu :)


[IMPROVEMENT] Deprecate the setting allow-node-drain-with-last-healthy-replica and replace it by node-drain-policy setting

Is your improvement request related to a feature? Please describe (👍 if you like this request)
We introduced the new setting node-drain-policy in https://github.com/longhorn/longhorn-manager/pull/1775. The new setting covers all use cases of the old setting allow-node-drain-with-last-healthy-replica and have extra options.  Therefore we should deprecate the setting allow-node-drain-with-last-healthy-replica and replace it by node-drain-policy setting.
Work needs to be done:

Document
Longhorn manager logic
Possibly upgrade/migration if needed

For Make sure that Longhorn UI setting page indicates that the setting Allow Node Drain with the Last Healthy Replica is deprecated, I'm unable to find any description on Longhorn UI setting page indicates it's deprecated on master-head. Do we have a ticket about this UI change? @innobead

@PhanLe1010 I believe we need to change the setting to SettingTypeDeprecated. Please help with this change.
/types/setting.go#L693
		Type:     SettingTypeBool,
		Required: true,

Changing setting type to SettingTypeDeprecated will removed the setting from UI and user will not be able to set it.
Should we do this in 1.3 and 1.4 @innobead ?

Oh should not. I think the UI should be refined, the deprecated item should not be removed but highlighted instead.
Let's just need to remove this setting from 1.5.0.
I will create an issue for UI improvement for deprecated setting.

the deprecated item should not be removed but highlighted instead

I agree

In 1.5.0, this old setting should be removed, since it has been introduced in the previous patches like 1.4.x. https://github.com/longhorn/longhorn/wiki/Deprecation-Policy
This issue is still pending in implement phase, @PhanLe1010 could you help with this to move this to ready-for-testing for QA? thanks.

This is actually a duplicate of https://github.com/longhorn/longhorn/issues/5620. Let's close this for 1.5.0.


Adding a Fix for another strange SDK issue on the Building and Running Firmware Page

I ran into 2 more strange SDK issues that were fixed with the methods below. The section below should be simple to copy and paste into the Fix common code compilation (https://docs.amdc.dev/firmware/xilinx-tools/building-and-running-firmware.html#fix-common-code-compilation) section of the "Building and Running Firmware" page on docs.amdc.dev
Fix another strange SDK issue:

Edit...  on  /app_cpu1/src

Change directory to  /app_cpu1

OK

Fix another strange SDK issue:

Edit...  on  /app_cpu1/src/common

Change directory to  /app_cpu1/common

OK

@wknutson thanks for documenting these changes!
Can you create a PR with these changes for review? Since these look like text-only changes, try just updating the files via the GitHub interface. You'll need to make a user branch with your changes, then create a PR for review and merging.
If you are interested in building the docs locally so you can see your changes rendered, see #56


Why the admin doesn't have delete key permissions?

Or at least have the ability to disable it.
It would be a nice feature!

See how l solved this Can't delete API Key #17


Introduce DB#ExecTx() method

Introduces a DB#ExecTx() method on the DB receiver (cherry-picked from #18)

Just fixed the outdated commit message which was referring to the now renamed method DB#RunInTx.

@oxzi do you want to look over the changes again since you previously approved it?


Generate an error for files/folders that do not exist while publishing

Are you talking about the files in the files field?
To check if they are all present?

Yes @oganexon


chore: fixed prettier version to 2

prettier@3 don't work with eslint-config-react-native
Summary:
It upgrade prettier to v3, and it's related packages.
and upgrade eslint to latest.
Changelog:
[General] [Fixed] - Upgrade Prettier to V3
<!-- Help reviewers and the release process by writing your own changelog entry.

@hoxyq Sure.
It happens (it's not mine, I was just helping a friend).

I believe we should update eslint-plugin-prettier to v5+ to be compatible with prettier 3.
We should also update peer prettier dependency to the correct version here.
But I am not sure about versioning of this package. It is currently 0.73.0, but releasing 0.73.1 which a possibility that it won't work with prettier@2 (haven't tried, don't know if eslint-plugin-prettier is backward compatible with prettier@2).
What's our strategy here? cc @cortinico @kelset

@hoxyq Done, the result after running yarn lint is the same as before.

@hoxyq I think that you can go ahead with 0.73.1, it's main branch after all

@hoxyq I think that you can go ahead with 0.73.1, it's main branch after all

If someone is currently using @react-native/eslint-config 0.73.0, it is only compatible with prettier v2.
Then, If we release 0.73.1, which might be compatible only with prettier v3 (need to verify this), we release a patch version of a package, which has changed major version of its peer dependency. I know that this package is almost internal-only, but looks kinda weird, no?
Also, I didn't expect that it requires us to update prettier across whole monorepo, so if it turns out quite complicating, we can  just follow @rvieceli initial approach with specifying prettier@2 to be installed and updating prettier peer dependency to >=2 <3

If someone is currently using @react-native/eslint-config 0.73.0, it is only compatible with prettier v2.

noone should be using 0.73 packages - they are only available as nightlies. The 0.73 branch has not been cut even. It's main branch versioning so just go ahead with 0.73.1 and don't worry. Until the branch is cut and RCs are produced, main is this weird limbo 🤷♂

If someone is currently using @react-native/eslint-config 0.73.0, it is only compatible with prettier v2.

noone should be using 0.73 packages - they are only available as nightlies. The 0.73 branch has not been cut even. It's main branch versioning so just go ahead with 0.73.1 and don't worry. Until the branch is cut and RCs are produced, main is this weird limbo 🤷♂

Ah, I get it. I guess my main concern is that there is a major (potentially breaking) change and we only update patch version of the package.

Closing as sadly we'll have to update to prettier v3 only once the internal meta monorepo will also be updated. The change will propagate to facebook/react-native them


Option to show the attack result (AC check) to players

Right now only DM can see the AC check card that is automatically created after the attack hits or doesn't.

For DMs that play "in the open" (and my players instantly remember the AC after the first hit lands anyway) it would be nice to have an option to display this card to players as well.
That would considerably speed up the combat, since players won't have to wait for the DM to say "it hits" to make a damage roll.

Additionally, it might be nice if it would show that it hits for the player, but maybe not the exact AC of the creature. It still keeps some element of mystery but speeds up play.


Check for drop to prevent race conditions

The inHandler uses setTimeout() function to schedule this.open() call. If client calls drop.destroy() before timeout is triggered, the instance of this.drop will be set to null which results in unhandled error in open()
This change fixes the unhandled error.

Thanks for doing this.  I was about to open a similar pull request when I noticed this one.
Based on CONTRIBUTING.md you'll need to run npm run build and gulp version:patch and commit the output if we want this to get merged.
Also, I believe it's possible to run into a similar problem in the close method, so you may want to add a similar fix there.

Also note that this problem has already been solved in two slightly different ways (#139 and #153) with no movement afaict on getting either of those PRs merged.


Inception Resnet v2 ValueError

I've successfully trained the model, but when I'm trying to run label_image.py it throws
ValueError: Cannot feed value of shape (1, 229, 229, 3) for Tensor 'import/Placeholder:0', which has shape '(?, 299, 299, 3)'
the command im running is
python label_image.py --input_height=229 --input_width=229 --graph=/tmp/output_graph.pb --labels=labels.txt --input_layer=Placeholder --output_layer=final_result --image=test.jpg

I've tried resizing the vector to (299,299,3) but it threw a similar error

@JakubSerwatka have you tried passing 299 as height and width?
python label_image.py --input_height=299--input_width=299--graph=/tmp/output_graph.pb --labels=labels.txt --input_layer=Placeholder --output_layer=final_result --image=test.jpg

Ok so your command works i dont understand how its possible since mine and yours commands are identical but thanks for help

@rhossei2 I just realized what the mistake was, sorry for trouble, didn't notice 229 instead of 299 after long coding session


Plugin cmd

Overview
Adds new command 'plugin'. closes #767
Questions
Review
<use @mentions for quick questions, specific feedback, and progress updates.>

I have made all the requested changes

Just tested and it works well in embark console, but in embark run, it destroys the dashboard:

To fix that, catch the npm logs and use embark.logger.info (or debug, trace, warn, error, etc)
Also, you can install twice the same package. We should look at the dependencies and or the embark.json to see if we don't already have the package so that we don't install twice.
Next, on command enter, there is a slight delay where nothing happens. We should print a message saying we are going to install the plugin.
Finally, if we enter a bad plugin name, it currently says a weird npm error. We should catch that and replace it by a better message saying that the plugin doesn't exist and point to the plugin page (https://embark.status.im/plugins/)

@jrainville Thanks for the feedback and review :)
I have a question which I should have asked at the beginning.  Does plugin install meant to install only plugins listed on the embark plugin page or is it for installing any npm package ?
I have replied inline to all your questions. Thank you !

Just tested and it works well in embark console, but in embark run, it destroys the dashboard:

To fix that, catch the npm logs and use embark.logger.info (or debug, trace, warn, error, etc)
I have pushed a fix for this in the latest commit. Works both with console and run commands

Also, you can install twice the same package. We should look at the dependencies and or the embark.json to see if we don't already have the package so that we don't install twice.
If they want to update the package, then the requested change wouldnt allow that happen

Next, on command enter, there is a slight delay where nothing happens. We should print a message saying we are going to install the plugin.
I have message saying installing npm package

Finally, if we enter a bad plugin name, it currently says a weird npm error. We should catch that and replace it by a better message saying that the plugin doesn't exist and point to the plugin page (https://embark.status.im/plugins/)
I have a better error message now.

@subramanianv It's not just for plugins on the embark page, but the goal is to list them all there. It might be possible that a user plugin is not listed there and is still installable. Therefore, any npm package should work, though, if they are not embark plugins, they will probably do nothing (don't know if they would crash to be honest).

@jrainville Thanks for the reply. Also, in the review you had asked me to check if the plugin was already installed. If the user wants to upgrade the plugin, they wouldn't be able to do so.
I made all the other requested changes, the command works in both run and console mode.  Please review the latest changes and let me know if there are more changes.


[docs] Add TS demo for WithWidth

[x] I have followed (at least) the PR section of the contributing guide.

Add one of the missing TS demos for mui-org/material-ui#14897

@burtyish Much appreciated, thanks!


Correction and updates to CDC known limitations

Fixes DOC-9230
Updates and corrections to the CDC known limitations. A couple of these were out of date.

Feedback added! TFTRs


[GLUTEN-1632][CH]Daily Update Clickhouse Version (20230714)

Auto commit by gluten daily build, please check the build status and merge it if it's green.

Compatible with current gluten


AutoARMA Algorithm for SyntheticHistory ROM

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
#2307 #2308
What are the significant changes in functionality due to this change request?
This is a re-do of PR #2176

Adds an autoARMA algorithm to the list of TSA algorithms. This algorithm can only be used for global signals if we are using clustered ROMs.

Changes to the ARMA algorithm:

Allows the ARMA algorithm to receive trained parameters from the autoARMA algorithm.
Switches input name from SignalLag and NoiseLag back to P and Q for the ARMA algorithm
P and Q inputs now can also accept an Integer List with size equal to the number of targets (can still accept a single value as before)

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Job Test qsubs sawtooth on 1eb419e : invalidated by @joshua-cogliati-inl
restarted civet


Publish jfrog-cli-go binaries to Chocolatey for Windows and Apt/Yum for linux

I really want to use the jfrog cli both on my machine, and in my CI processes, so I'd like to help your team get the binaries published to the package managers for Windows and Linux.  This used to be a very tedious process, but there is actually a shortcut now.
There is an amazing collection of tools for unifying and streamlining cross-platform packaging for any kind of binaries, which also happens to be written in Go.  All the tools are "detailed" in the following repository, although his process isn't quite what you should follow.
https://github.com/mh-cbon/go-github-release
If this team would be willing to take on the burden of publishing to Chocolatey, RPM, and DEB repositories, I will submit some PR's with instructions to get it started.  If not, then I won't bother.

@solvingJ,
Do you think that the process of publishing JFrog CLI with these package managers can be automated?

Yes, they can be fully automated via CI.

@solvingJ,
It would be great if we could collaborate!
We'd gladly accept your contributions through pull requests.
Let's communicate here and agree on the solution.

Worked on it a bit this weekend. I hope to submit a PR soon.

So much for soon.  Haven't had time to look in past month.  Will take another look tonight/tomorrow.

If you get a chance to look into this @solvingj, it best to use the dev branch.

PR submitted, have a great weekend!

HI @eyalbe4 , has anyone had a chance to start looking into this?

Not yet @solvingj, but we'll get it soon :)

That would be great @jgeorgeson! Thanks!

I assume that since you're using AppVeyor to build the Windows executables, you don't have any Windows agents for either your Jenkins or jFrog Pipelines (either thick agents or containers). I don't think will be possible to build the Chocolatey package with PowerShell Core on non-Windows platform. Neither Chocolatey nor the recommended automatic updator packaging framework support PowerShell Core.

https://chocolatey.org/docs/installation#requirements
https://github.com/majkinetor/au/issues/158

Fundamentally, Chocolatey packages are NuGet packages with extra meta-data, so it might be possible to package and publish using nuget.ext with Mono in a Linux container, but I've never attempted that.
So would it be ok to put the Chocolatey packaging in the AppVeyor build, or is working it into Jenkinsfile a hard requirement?

@jgeorgeson,
Actually, we use AppVeyor only for running the teats on Windows. We build all the JFrog CLI executables, including the Windows executable on a Linux Jenkins agent, using the Jenkinsfile included in this repo.
I wouldn't say running the build on a Linux agent is a hard requirement, but having the entire release process running on one agent does make things easier to maintain.
Can we try using nuget with and mono?
Since the existing Jenkinsfile already takes care of the heavy lifting of creating the windows executable and signing it (see the code in the Jenkinsfile), I think it may be possible to use another docker image with nuget and mono, which will take the signed executable and package it.
What do you think?

Ok, will see if I can make that work.

So it turns out there's already interest and traction getting Chocolatey to build and run under mono, including some Docker image work already done.

https://github.com/chocolatey/choco/pull/1153
https://github.com/chocolatey/choco/tree/master/docker

And the contributors of those efforts publish an unofficial Linux Mono Docker image

https://github.com/chocolatey/choco/issues/1718
https://github.com/Linuturk/mono-choco

I played around with it in WSL and am able to install the resulting nupkg with Chocolatey, so it's looking to good to integrate into your Jenkins release pipeline. It might not be able to pick this back up again until the weekend, but you can get started on becoming package maintainer here. You'll need to setup an api key to use in Jenkins for the choco push to publish it.

Hoping to have a PR opened today.
Looking at the Jenkinsfile, it appears that the executable is built separately for the unpackaged publish to Bintray vs the packaged (RPM/DEB/NPM) versions. It seems the checksums are different between these three distributions
https://bintray.com/jfrog/jfrog-cli-go/jfrog-cli-linux-amd64/1.39.5
https://releases.jfrog.io/artifactory/jfrog-debs/pool/jfrog-cli/jfrog-cli-1.39.5.x86_64.deb
https://releases.jfrog.io/artifactory/jfrog-rpms/jfrog-cli/jfrog-cli-1.39.5.x86_64.rpm
The current Chocolatey package I publish scrapes the checksum from Bintray, and just runs PowerShell script to download the exe from Bintray and verify the checksum. For official packaging though, it's better to bundle the application, especially for a lightweight standalone executable like we have here. In this model it's required to have a VERIFICATION.txt file included
https://github.com/chocolatey/package-validator/wiki/VerificationFileMissing
Since I can't suggest using the checksum from Bintray as the verification, I tried to use signtool to verify signature, but that says the root cert isn't trusted.
> & 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe' verify .\jfrog.exe
File: .\jfrog.exe
Index  Algorithm  Timestamp
========================================
SignTool Error: A certificate chain processed, but terminated in a root
        certificate which is not trusted by the trust provider.

Number of errors: 1

I can document the certificate chain that is used to sign the exe though, hopefully that will be adequate.

@eyalbe4 @RobiNino If you provide me the username(s) registered on Chocolatey.org I can add as package maintainers there directly.

@jgeorgeson,
The username on Chocolatey is jfrog.

Added, it says pending approval, not sure if that goes to the site admins or you.

@jgeorgeson - I have just accepted the request to become the package maintainer.

@jgeorgeson,
We tried to publish patch 1.39.6 to Chocolatey for the time time today. The following docker run command failed on the Jenkinsfile:
docker run -v \$PWD:/work -w /work $architecture.chocoImage push --apiKey \$CHOCO_API_KEY jfrog-cli.$version.nupkg

So it looks like the package creation was successful, but the publication failed. We used the API key we received through the Chocolatey website.
This is the error in from the Jenkins build log:

16:54:54  Attempting to build package from 'jfrog-cli.nuspec'.
16:54:59  Successfully created package '/work/jfrog-cli.1.39.6.nupkg'
16:54:59  [Pipeline] }
16:54:59  [Pipeline] // withCredentials
16:54:59  [Pipeline] }
16:54:59  [Pipeline] // dir
16:54:59  [Pipeline] }
16:54:59  [Pipeline] // stage
16:54:59  [Pipeline] }
16:54:59  [Pipeline] // dir
16:54:59  [Pipeline] }
16:54:59  [Pipeline] // node
16:54:59  [Pipeline] End of Pipeline
16:54:59  [Checks API] No suitable checks publisher found.
16:54:59  org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No such field found: field java.lang.String nupkg
16:54:59  	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:425)
16:54:59  	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:409)
16:54:59  	at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:353)
16:54:59  	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:357)
16:54:59  	at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
16:54:59  	at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
16:54:59  	at WorkflowScript.publishChocoPackage(WorkflowScript:213)
16:54:59  	at ___cps.transform___(Native Method)
16:54:59  	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
16:54:59  	at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
16:54:59  	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66)
16:54:59  	at jdk.internal.reflect.GeneratedMethodAccessor330.invoke(Unknown Source)
16:54:59  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
16:54:59  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
16:54:59  	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
16:54:59  	at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
16:54:59  	at com.cloudbees.groovy.cps.Next.step(Next.java:83)
16:54:59  	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
16:54:59  	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
16:54:59  	at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:129)
16:54:59  	at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:268)
16:54:59  	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:185)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:400)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:96)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:312)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:276)
16:54:59  	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
16:54:59  	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
16:54:59  	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:136)
16:54:59  	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
16:54:59  	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
16:54:59  	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
16:54:59  	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
16:54:59  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
16:54:59  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
16:54:59  	at java.base/java.lang.Thread.run(Thread.java:834)
16:54:59  Finished: FAILURE

Any idea what causes this?

I think it's interpolation of jfrog-cli.$version.nupkg not working as intended. It's trying to find nupkg as a field of string object $version. Not sure how to tell Groovy to stop interpolating at the . separating the two (like using {} for she'll env variables).

Looking at https://groovy-lang.org/syntax.html#_triple_single_quoted_string I think jfrog-cli.${version}.nupkg will work.

Indeed @jgeorgeson - https://github.com/jfrog/jfrog-cli/pull/857 fixes the issue. Thanks!

I think it's safe to close this issue by now! Also, please remove me as a package maintainer over here.

Done @jgeorgeson.
Thanks so much for creating this package. We truly appreciate it!


Implement JSON serialization for all data-structures

In order to make persistence an easier problem to solve we should be able to serialize every data-structure currently present in the repository. The data-structures should implement json.Marshaler interface to suffice a baseline scenario.

Making fields public would be enough for external encoders to work.


TCP file

Hi,
if i want to transfer files,what i do ? and i not find TCP sock in this

This is a distributed hash table (DHT) library.
So, if you want to transfer file, you need to establish a TCP connection between peers.
DHT should help to publish the location of file.


qasm_simulator no results from a circuit for histogram

Information

Qiskit Terra version: 0.18.0
Python version: 3.8.8
Operating system: macOS Big Sur version 11.4 (20F71)

What is the current behavior?
Simulation fails to produce results.  Simulation worked on my circuit yesterday...but today it fails.  I don't think I've made any changes.  Will run on real hardware fine.
Errors produced:
/Users/juliegermain/opt/anaconda3/envs/QuantumResearch/bin/python "/Users/juliegermain/Library/Application Support/JetBrains/PyCharmCE2020.3/scratches/QuantumResearch/scratch_5.py"
[]
Simulation failed and returned the following error message:
ERROR: Failed to load qobj: Unable to cast Python instance to C++ type (compile in debug mode for details)
Traceback (most recent call last):
File "/Users/juliegermain/Library/Application Support/JetBrains/PyCharmCE2020.3/scratches/QuantumResearch/scratch_5.py", line 45, in
hist = plot_histogram(result.get_counts())
File "/Users/juliegermain/opt/anaconda3/envs/QuantumResearch/lib/python3.8/site-packages/qiskit/visualization/counts_visualization.py", line 219, in plot_histogram
all_vals = np.concatenate(all_pvalues).ravel()
File "<array_function internals>", line 5, in concatenate
ValueError: need at least one array to concatenate
Process finished with exit code 1
Steps to reproduce the problem
Here is a scaled back version of the circuit that shows the issue:
from qiskit.tools.visualization import plot_histogram
from qiskit import *
from qiskit.extensions import Initialize
import matplotlib.pyplot as plt
def draw_circuit(qc):
qc.draw(output='mpl')
plt.show()
sim_on = 1
qd0 = QuantumRegister(1,'qd0')
qa0 = QuantumRegister(1,'qa0')
qa1 = QuantumRegister(1,'qa1')
qd1 = QuantumRegister(1,'qd1')
qd2 = QuantumRegister(1,'qd2')
crr = ClassicalRegister(1)
shor_qc = QuantumCircuit(qd0,qd1,qd2,qa0,qa1,crr)
initial_value = 1
end-to-end circuit initialization method
if initial_value == 1:
initial_data = '1'
elif initial_value == 0:
initial_data = '0'
init_gate = Initialize(initial_data)
init_gate.label = "init"
inverse_init_gate = init_gate.gates_to_uncompute()
shor_qc.append(init_gate,qd0)
shor_qc.barrier()
shor_qc.measure(qd0,crr)
draw_circuit(shor_qc)
if sim_on == 1:
# simulator = Aer.get_backend('aer_simulator')
simulator = Aer.get_backend('qasm_simulator')
result = execute(shor_qc, backend=simulator).result()
count = result.get_counts()
print(count)
hist = plot_histogram(result.get_counts())
plt.show()
What is the expected behavior?
produce a histogram with results.  Note: I can run on real hardware and it works fine.  Circuit is created and drawn.  I had been running yesterday on qasm_simulator.  I tried running on aer_simulator as a test...and issue still present.
Suggested solutions
No idea.

looking at the code further the issue doesn't happen if I comment out this line...reason this method isn't compatible with the simulator (again thought this version of the circuit worked yesterday)
#shor_qc.append(init_gate,qd0)


Add bedrock feedback into preview

Overview
Merge changes from #958 into the preview branch

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (develop-ai-limited-preview@7051455). Click here to learn what that means.

Additional details and impacted files
@@                      Coverage Diff                      @@
##             develop-ai-limited-preview    #1030   +/-   ##
=============================================================
  Coverage                              ?   81.90%
=============================================================
  Files                                 ?      191
  Lines                                 ?    20180
  Branches                              ?     3505
=============================================================
  Hits                                  ?    16528
  Misses                                ?     2634
  Partials                              ?     1018

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


XmlException when uploading file

Which service(blob, file, queue, table) does this issue concern?
blob
Which version of the Azurite was used?
3.10
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
DockerHub, npm
What's the Node.js version?
15.8.0 with npm, in docker the same as in the image
What problem was encountered?
When calling BlobContainerClient.UploadBlobAsync() the following exception is thrown:
System.Xml.XmlException
Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
   at System.Xml.Linq.XDocument.Load(Stream stream, LoadOptions options)
   at Azure.Storage.Blobs.BlobRestClient.BlockBlob.UploadAsync_CreateResponse(ClientDiagnostics clientDiagnostics, Response response)
   at Azure.Storage.Blobs.BlobRestClient.BlockBlob.UploadAsync(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri resourceUri, Stream body, Int64 contentLength, String version, Nullable`1 timeout, Byte[] transactionalContentHash, String blobContentType, String blobContentEncoding, String blobContentLanguage, Byte[] blobContentHash, String blobCacheControl, IDictionary`2 metadata, String leaseId, String blobContentDisposition, String encryptionKey, String encryptionKeySha256, Nullable`1 encryptionAlgorithm, String encryptionScope, Nullable`1 tier, Nullable`1 ifModifiedSince, Nullable`1 ifUnmodifiedSince, Nullable`1 ifMatch, Nullable`1 ifNoneMatch, String ifTags, String requestId, String blobTagsString, Boolean async, String operationName, CancellationToken cancellationToken)
   at Azure.Storage.Blobs.Specialized.BlockBlobClient.UploadInternal(Stream content, BlobHttpHeaders blobHttpHeaders, IDictionary`2 metadata, IDictionary`2 tags, BlobRequestConditions conditions, Nullable`1 accessTier, IProgress`1 progressHandler, String operationName, Boolean async, CancellationToken cancellationToken)
   at Azure.Storage.Blobs.Specialized.BlockBlobClient.<>c__DisplayClass54_0.<<GetPartitionedUploaderBehaviors>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Azure.Storage.PartitionedUploader`2.UploadInternal(Stream content, TServiceSpecificArgs args, IProgress`1 progressHandler, Boolean async, CancellationToken cancellationToken)
   at Azure.Storage.Blobs.BlobClient.StagedUploadInternal(Stream content, BlobUploadOptions options, Boolean async, CancellationToken cancellationToken)
   at Azure.Storage.Blobs.BlobContainerClient.UploadBlobAsync(String blobName, Stream content, CancellationToken cancellationToken)
   at BimVisualizer.Server.Tests.AzuriteTests.CanUploadFile() in D:\bimvisualizer\BimVisualizer.Server.Tests\AzuriteTests.cs:line 59
   at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_1.<<InvokeTestMethodAsync>b__1>d.MoveNext() in C:\Dev\xunit\xunit\src\xunit.execution\Sdk\Frameworks\Runners\TestInvoker.cs:line 264
--- End of stack trace from previous location ---
   at Xunit.Sdk.ExecutionTimer.AggregateAsync(Func`1 asyncAction) in C:\Dev\xunit\xunit\src\xunit.execution\Sdk\Frameworks\ExecutionTimer.cs:line 48
   at Xunit.Sdk.ExceptionAggregator.RunAsync(Func`1 code) in C:\Dev\xunit\xunit\src\xunit.core\Sdk\ExceptionAggregator.cs:line 90

Steps to reproduce the issue?
I did this while testing if I can use azurite in a unit testing environment. I tried both with setting up azurite with npm and with a nuget which spins up a docker container for each test case, with a custom port, then discards it. Both of them resulted in the same exception
[Fact]
public async Task CanUploadFile()
{
    // Arrange
    // this is the default connection string
    var connectionString = Sp.GetRequiredService<IOptions<AzureStorageOptions>>().Value.ConnectionString;

    var blobServiceClient = new BlobServiceClient(connectionString);
    const string testContainerName = "TestBlob";

    var containerResponse = await blobServiceClient.CreateBlobContainerAsync(testContainerName);

    // Act
    var client = containerResponse.Value;

    var message = new MemoryStream(Encoding.Default.GetBytes("Hello"));
    // Exception is thrown here
    await client.UploadBlobAsync("HelloFile.txt", message);

    await message.DisposeAsync();

    // Assert
    await using var result = new MemoryStream();
    using var reader = new StreamReader(result);
    await client.GetBlobClient("HelloFile.txt").DownloadToAsync(result);
    (await reader.ReadToEndAsync()).Should().Be("Hello");
}

connection string:
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://localhost:12000/devstoreaccount1;

Azurite is using the correct port
Have you found a mitigation/solution?
No

Hi,
I can upvote this. The version used is 3.14.3. The Azurite is installed via npm.
@KuraiAndras, did you by chance, find a solution in the mean time?

Sadly, no. We ended up not using Azurite and manually testing every major functionality of our project (Luckily it was jut a server with 5-10 endpoints). We created a storage account for all of our teammates, and everyone set up their own account for running  the server locally.
Not an ideal solution for bigger projects, but in our case it was feasible.

Thanks for the info. I think we also switch to usage of a storage account.

@KuraiAndras
It looks I can't repro the issue with latest Azurite 3.14.3 and Azure.Storage.Blobs 12.10.0.
(I have some change to you code. Since the container name "TestBlob" is invalid, it's not allowed in Azurite any more. So I changed it to "testblob", And I use port 10000.)
If you still can repro the issue (better with latest Azurite), could you please share the Azurite debug log and the SDK version, then we can continue the investigation.

Well, the project that used this has been finished since, so I don't really want to fire up the old test cases. If it works now - and maybe the container name was the issue? - this issue could be closed. On the other hand @z77ma could provide some more info on their issue (maybe you also have a problem with an invalid container name?).

Close this issue per @KuraiAndras suggestion.
@z77ma You can still attach the debug is if it still can repro on the latest Azurite version. And we will still look at it.


Console logging

What it says. The relevant url <BASE_URL>/navigate works fine. Perhaps in the future we should prune all the dead code from this project. There's a lot.

@rdmurphy @x110dc

@rdmurphy I changed the logging on here but I realize that this may be a problem for the rundeck scraper. Does the rundeck scraper need file based logging or is console logging OK? If it's the former I can set it to run the old setting if some environmental variable is set. Let me know!


service: handle string run cmd

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

This is a very bad bug that snuck in after #15007. Essentially, it didn't come up during testing because of a bug in my testing script. The Service#run handles strings by turning them into arrays. The string argument gets turned into an array internally but we skip that to preserve all args in the @run_params variable. That means that we have to handle strings when deserializing too.
This affects 58 services by my count and makes the services impossible to install correctly since the path deserialization doesn't work at all.
appium
arangodb
artifactory
asimov
auditbeat
automysqlbackup
bazarr
beanstalkd
bitcoin
bitlbee
black
blazegraph
carrot2
cassandra-reaper
chronograf
clash
clipper
code-server
collector-sidecar
couchdb-lucene
couchdb
daemontools
davmail
docuum
filebeat
freediameter
fuseki
gearman
groestlcoin
heartbeat
icecream
immudb
influxdb
ircd-hybrid
jackett
jobber
kibana@6
knot
lldpd
logstash
metabase
metricbeat
mpdas
nats-server
nats-streaming-server
openiked
opensearch-dashboards
opensearch
opentsdb
orientdb
packetbeat
pdns
pdnsd
rabbitmq
redshift
tailscale
tor
trezor-bridge
yorkie

I've updated the testing script from before to not skip services without commands which was something I did early on because of one false positive. I also added some more testing around the different run command parameter types.

Thanks @apainintheneck! FYI if you're marking something like this critical and it fixes a regression: I'd just self-merge.

@apainintheneck does this fix https://github.com/Homebrew/brew/issues/15113?

@apainintheneck does this fix #15113?

No, the solution there is to stop using bin in the service block. I found this because I was debugging the Cellar problem so there is that.


Assertion error during testing

Hi, I ran 'torchpack dist-run -np 1 python tools/test.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/default.yaml pretrained/bevfusion-det.pth --eval bbox' and encountered the following error. Can you give me some advice on how to solve it? Thanks.

Hi @JiSuanJiDaWang,
The config you used is not correct. You can have a try using configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml.
Best,
Haotian

Thanks! It works now


is there a proper way to do a ATLAS sprite outside of characters?

What is your question?
just a general curiosity question, is there a proper way to do a ATLAS sprite outside of characters?
because there are some scenarios where i want to do that for a few things, if not that is fine, just mostly poking through the files while also trying to use my knowledge of what Ive gained so far to see if it was possible

you could do something like
var sprite = new FlxAnimate();
sprite.isAnimateAtlas = true;
sprite.loadAtlas(Paths.getPath('images/sprite'));
sprite.showPivot = false;
sprite.anim.addBySymbol("idle", "symbol", 24, false);
sprite.anim.play("idle");
add(sprite);

just keep in mind you have to use FlxAnimate instead of FlxSprite and animations are accessed by anim instead of animation'. (also dont forget to set isAnimateAtlasto true andshowPivot` to false

what if it creates a Null Object Reference, the state i want it to be in, been restructuring this a few times and it results in the same issue every time
the state i'm trying to currently do this on is titleState

i did rename the one in the curBeat part of the code as well from animate to anim

wait, nvm fixed it, i am stupid


Add a new API to upload (create/edit) devices

This way, we can automate the upload of devices from
thingpedia-common-devices

Pull Request Test Coverage Report for Build 1265

72 of 80 (90.0%)  changed or added relevant lines in 5 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage increased (+1.6%) to 64.608%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

util/import_device.js
63
64
98.44%

routes/thingpedia_upload.js
1
8
12.5%

Files with Coverage Reduction
New Missed Lines
%

routes/my_api.js
1
61.94%

routes/thingpedia_upload.js
2
62.12%

Totals

Change from base Build 1254:
1.6%

Covered Lines:
5384

Relevant Lines:
7834

💛  - Coveralls


Sender timeOut doesn't work for TLS connections

Let's try to use passive loopback ip addresses in TestEmail_SendFailedMakeClient test for TLS Sender.
<IP_ADDRESS> instead of <IP_ADDRESS>
This is a general way to receive timeout network error.
func TestEmail_SendFailedMakeClient(t *testing.T) {
	// ...
	{
		s := NewSender("<IP_ADDRESS>", Port(225), TLS(true), TimeOut(time.Millisecond*200))
		err := s.Send("some text", Params{
			From<EMAIL_ADDRESS>			To<EMAIL_ADDRESS>			Subject: "subj",
		})
		require.Error(t, err)
	}
}

Run this test:
/usr/local/bin/go test -timeout 30s -run ^TestEmail_SendFailedMakeClient$ github.com/go-pkgz/email

The test will fail with panic message panic: test timed out after 30s. Whereas we expect to receive timeout network error cuz Sender timeout was set to 200ms TimeOut(time.Millisecond*200).

In test it is better to use an <IP_ADDRESS> (IPv6 2001:2::254) address which is expected to hang until the timeout elapses on both MacOS and Linux.


Fix texture preview gone missing

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15444/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15444/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15444/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15444/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15444/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15444/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15444/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15444/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15444/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15444/merge/testResults/webgpuplaywright/index.html


Write more developer tutorials

Expand developer documentation with more tutorials explaining how to do various types of projects.
Ideas:

add a new translation
cut a new release
add a new emoji
test Zulip with a new browser
work with a new file format (for uploading and/or thumbnailing in previews)

I think probably the tutorials I'd prioritize most (because they're things folks often want to do):

Add a new backend route (should document our rest_dispatch + has_request_variables model)
Make a UI change / Add a new section of HTML (via Django templates or handlebars) to the site
Display an error message in some Zulip UI you've written (we have a standard way to do this with report_error, but it's not documented)

And I think these would be pretty useful as well:

Add a new management command (could be mostly a pointer to Django)
Add a new module to the Zulip frontend
Contribute translations
Modify the Zulip markdown syntax (would be the how-to complement to docs/markdown.md; might be a bit tricky to write just because it's somewhat complex)

We now have implemented several of the ideas I suggested somewhere in our documentation.  Things we should probably add include:

Add a new module to the Zulip frontend
Modify the Zulip markdown syntax (would be the how-to complement to docs/markdown.md; might be a bit tricky to write just because it's somewhat complex)
Make a UI change / Add a new section of HTML (via Django templates or handlebars) to the site
Display an error message in some Zulip UI you've written (we have a standard way to do this with report_error, but it's not documented)

I think the things we had in mind when we opened this issue are solved with the "write a new view" thing. It's now just a random list of unrelated documentation enhancements we could make.  @brainwane what do you think about a strategy of taking the list in my previous comment and opening an issue for each of those, and then closing this?

The markdown piece is already in https://github.com/zulip/zulip/issues/1857; I opened #2232 for the error message one; I think the others we already have now.  https://github.com/zulip/zulip/issues/1649 is for the template system; and I'm not sure we really need docs for adding a new module to the frontend (it kinda exists in the Node testing docs).


[VS Code] Joining collaboration session: Could not connect to the server. Check that you are connected to the internet.

Error:
Joining collaboration session: Could not connect to the server. Check that you are connected to the internet.
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.1256

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.31.1

platformName
Linux

platformVersion
4.19.0-kali3-amd64

Hi, thanks for reporting this. possible dupe #1246  please reopen if the workaround on that issue doesn't help you.


[DOCFIX]Deleted two lines of docs/_data/table/cn/user-configuration.yml

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/14473/
Test PASSed.


DOC: optimize: The bounds param of differential_evolution is not optional

This confused at least one user: Is there a way to NOT give 'bounds' argument for differential evolution in Scipy differential evolution algorithm?

The failing test in "Linux Tests / Python 3.7-dbg (pull_request)" is not related to this PR.


Media Types defined at Method level are ignored during class generation

Hi,
If the media type is defined at the top level of the RAML file then the corresponding Java controller will be annoted with an annotation configured with this media type.
For example for the following raml ...
#%RAML 0.8
title: xxx API
version: v1.0
baseUri: /
mediaType:  application/json
...
/xxx:

here is how annoted the corresponding Java controller is:
@RestController
@RequestMapping(value = "/xxx", produces = "application/json")

All is ok !
Now if in the raml, I defined a media type at the method level, for example:
  post:
    body:
      application/json:
        schema: xxx
    responses:
      201:
        body:
          text/plain:

The corresponding method of the controller is not annoted with the media type 'produces' as expected. I would expect the method annotation RequestMapping is initialized with the 'produces' and 'consumes' media types.
Looking in the code, the class 'SpringRequestMappingMethodAnnotationRule' that generates the method annotations use only the 'value' and 'method' properties of the provided 'ApiMappingMetaData'.
It would be nice to always provide the media type (when specified) at the method level by updating the following code:
public class SpringRequestMappingMethodAnnotationRule implements Rule<JMethod, JAnnotationUse, ApiMappingMetadata> {
   @Override
   public JAnnotationUse apply(ApiMappingMetadata endpointMetadata, JMethod generatableType) {
      final JAnnotationUse requestMappingAnnotation = generatableType.annotate(RequestMapping.class);
      requestMappingAnnotation.param("value", endpointMetadata.getUrl());
      requestMappingAnnotation.param("method", RequestMethod.valueOf(endpointMetadata.getActionType().name()));
      return requestMappingAnnotation;
   }

by
public class SpringRequestMappingMethodAnnotationRule implements Rule<JMethod, JAnnotationUse, ApiMappingMetadata> {
   @Override
   public JAnnotationUse apply(ApiMappingMetadata endpointMetadata, JMethod generatableType) {
      final JAnnotationUse requestMappingAnnotation = generatableType.annotate(RequestMapping.class);
      requestMappingAnnotation.param("value", endpointMetadata.getUrl());
      requestMappingAnnotation.param("method", RequestMethod.valueOf(endpointMetadata.getActionType().name()));
      requestMappingAnnotation.param("produces", endpointMetadata.getProduces());
      requestMappingAnnotation.param("consumes", endpointMetadata.getConsumes());
      return requestMappingAnnotation;
   }

Note: Not sure if endpointMetadata.getProduces() can return null, otherwise this must be checked before the invocation.
Hope it is meaningful for you!
Best Regards,

Sounds interesting,  would you be interested in submitting a PR for this?

After reading the purpose of Media Type, I do not consider my use case as valid anymore because the same method would have to return sometime json, sometime txt and that make the method generation difficult (which return type must be used). Another option would be to create to method and let the caller defining its preferred media type but in this case the implementation of the method will be artificially more complex.
I will change my media type to json and continue to use your pluggin as it is.

Or we could generate 1 method for each different return content type


Use Traditional Spanish Locale ID

Renamed README.es -> README.es-ES

Thanks for taking the time to contribute this localization pull request. However, we are not able to accept contributions to this historical reference repository at this time.


DotNet: added dotnet and nuget managers including tests

This pull request introduces two new managers (dotnet and Nuget) that handle .NET dependency management.
Added:

Two Managers:

DotNet: dotnet manager analyses files ending with ".csproj"
Nuget: nuget manager analyses files "package.config"
DotNetSupport: is responsible for mapping the dependencies on the model. The information is retrieved from the Nuget API and dependencies are crawled

Tests:

DotNetSupportTest: tests special cases for dependency resolution

coverage is at  96% for the classes and 88% of lines

NugetTest: tests a test nuget file included in funTests/assets//projects/synthetics

coverage is at  75% for the classes and 91% of lines

DotNetTest: tests a test dotnet file included in funTests/assets/projects/synthetics

coverage is at  75% for the classes and 91% of lines

Deficencies:

Since package files are either not of constant name (Dotnet -> name.csproj) or are not in the parent directory, but potentially in subdirectories fake package file names were introduced: dotnet.xml and nuget.xml. They do not contain any information necessary for ORT.
most dependencies provided by the nuget API do not contain a repository url and none contain source artifacts. only binary artifacts are provided. So scanning the project with the analyser result is not possible
The dependencies are a bit like NPM, they go very deep. Hence, enormous result files are created and the analysing takes a while, since everything needs to be retrieved from the API.

This change is

Thanks @neubs-bsi for the contribution! I see at least one detekt issue being reported in CI. Please run ./gradlew detekt locally and fixup any reported issues to see if CI will pass.

Congrats @neubs-bsi, CI is passing! However, it will probably take us a few days to get started with the review.

@neubs-bsi don't worry about the failing tests, we need to update some expected results, see https://github.com/heremaps/oss-review-toolkit/pull/1420. Once that is merged to master, please rebase your PR once more.

@neubs-bsi, feel free to rebase now!


1005 deploy token ux

What does this PR do and why?
Closes #1005
Screenshots or screen recordings

Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.

Beautiful @jmilldotdev flawless victory. 🚀🛳


Not able to push elasticsearch dump file to localhost

I am having a problem to read a dump file from elasticsearch in another system and push it to my elasticsearch using Logstash via file input plugin. My dump file looks like this:
    {"_index":"logstash-2018.06.14","_type":"doc","_id":"9Q-9AGQBaaf188t_6DmH","_score":1,"_source":{"offset":124076,"tags":["filebeat_json","beats_input_raw_event","_jsonparsefailure"]...}
    {"_index":"logstash-2018.06.14","_type":"doc","_id":"DQ-9AGQBaaf188t_6DqH","_score":1,"_source":{"offset":145573,"tags":["filebeat_json","beats_input_raw_event","_jsonparsefailure"],...}

What I want to do is to use the elasticsearch metadata like _index and push it to my elasticsearch. After a suggestion I found elasticdump and already install it alongside with nodejs. Now I am trying to push it with the command as follow:

elasticdump --input=./logstash.json --output=http://localhost:9200/

but it gave error like this:
/usr/local/lib/node_modules/elasticdump/lib/transports/elasticsearch.js:668
var {awsChain, awsAccessKeyId, awsIniFileProfile} = self.parent.options
^
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at getIo (/usr/local/lib/node_modules/elasticdump/lib/ioHelper.js:29:18)
at new elasticdump (/usr/local/lib/node_modules/elasticdump/elasticdump.js:44:3)
at Object. (/usr/local/lib/node_modules/elasticdump/bin/elasticdump:96:16)
Any idea why and how to solve it?

ElasticDump version 3.3.18
Elasticsearch version 6.2.4
Node.js version (note that nodejs v8+ is required for this tool) v4.2.6

note that nodejs v8+ is required for this too


Job hangs when available hosts < min hosts instead of terminating

A. This test was run on a 3 node cluster (rh7v-intel64-90-test-4/5/6.marklogic.com) with a forest (ApplyTransform1,2,3) on each of the node associated with a db.
B. Now when 'batcher ' QB job is getting executed,nodes rh7v-intel64-90-test-5/6.marklogic.com are stopped one after the other.
 new HostAvailabilityListener(dmManager)
  .withSuspendTimeForHostUnavailable(Duration.ofSeconds(15))
   .withMinHosts(2)

C.From the log, it can be seen that rh7v-intel64-90-test-6.marklogic.com is black listed but once rh7v-intel64-90-test-5.marklogic.com is stopped , it is not black listed.
D. Instead,the process hangs forever. The stack trace and client logs are attached.
Client log
jstack.txt
	@Test
	public void xQueryMasstransformReplace() throws Exception{

		WriteBatcher ihb2 =  dmManager.newWriteBatcher();
		ihb2.withBatchSize(27).withThreadCount(10);
		ihb2.onBatchSuccess(
				batch -> {

				}
				)
		.onBatchFailure(
				(batch, throwable) -> {
					throwable.printStackTrace();
				});

		dmManager.startJob(ihb2);

		for (int j =0 ;j < 2000; j++){
			String uri ="/local/string-"+ j;
			ihb2.add(uri, meta2, stringHandle);
		}

		ihb2.flushAndWait();

		ServerTransform transform = new ServerTransform("add-attr-xquery-transform");
		transform.put("name", "Lang");
		transform.put("value", "English");

		AtomicInteger skipped = new AtomicInteger(0);
		AtomicInteger success = new AtomicInteger(0);
		AtomicInteger failure = new AtomicInteger(0);

		ApplyTransformListener listener = new ApplyTransformListener()
				.withTransform(transform)
				.withApplyResult(ApplyResult.REPLACE)
				.onSuccess(batch -> {
					success.addAndGet(batch.getItems().length);
				}).
				onBatchFailure((batch, throwable) -> {
					failure.addAndGet(batch.getItems().length);
					throwable.printStackTrace();
				}).onSkipped(batch -> {
					skipped.addAndGet(batch.getItems().length);

				});

		QueryBatcher batcher = dmManager.newQueryBatcher(new StructuredQueryBuilder().collection("XmlTransform"))
				.onUrisReady(listener).withBatchSize(7);
		batcher.setQueryFailureListeners(
				  new HostAvailabilityListener(dmManager)
				    .withSuspendTimeForHostUnavailable(Duration.ofSeconds(15))
				    .withMinHosts(2)
				);
		JobTicket ticket = dmManager.startJob( batcher );
		batcher.awaitCompletion();
		dmManager.stopJob(ticket);
		System.out.println("Success "+ success.intValue());
		System.out.println("Failure "+failure.intValue());
		String uris[] = new String[2000];
		for(int i =0;i<2000;i++){
			uris[i] = "/local/string-"+ i;
		}
		int count=0;
		DocumentPage page = dbClient.newDocumentManager().read(uris);
		DOMHandle dh = new DOMHandle();
		while(page.hasNext()){
			DocumentRecord rec = page.next();
			rec.getContent(dh);
			assertTrue("Element has attribure ? :",dh.get().getElementsByTagName("foo").item(0).hasAttributes());
			assertEquals("Attribute value should be English","English",dh.get().getElementsByTagName("foo").item(0).getAttributes().item(0).getNodeValue());
			count++;
		}

		assertEquals("document count", 2000,count);
		assertEquals("document count", 2000,success.intValue());
		assertEquals("document count", 0,skipped.intValue());
	}

Can you tell me if there are enough replica forests on the remaining host?  Are we possibly dealing with the database becoming unavailable?  If so, I think I've seen connections hang for up to transaction timeout, which I believe is 10 mins by default.

The database becomes unavailable when two nodes ( rh7v-intel64-90-test-5/6.marklogic.com ) are stopped (available host then becomes 1 and 'minHosts'  is set to 2).  It can be seen that when first rh7v-intel64-90-test-6.marklogic.com is stopped , it is blacklisted (even before forest on rh7v-intel64-90-test-6.marklogic.com failed over). But shouldn't the same happen (blacklisting and eventually stopping the job on the client side) occur when rh7v-intel64-90-test-5.marklogic.com is stopped

I found out while investigating #595 that calling datamovementManager.stopJob inside a listener (including HostAvailabilityListener) would hang the job. That's because stopJob was calling awaitCompletion() which waits for the listener to complete, which creates a type of deadlock. I committed a fix that makes it so stopJob doesn't call awaitCompletion().  That might fix this issue.  We need to verify.

This issue still occurs. The process hangs on awaitCompletion(). I have attached the latest stacktrace, client log. This test was run on a 3 node cluster (rh7v-intel64-90-test-19/20/21.marklogic.com) with a forest (ApplyTransform1,2,3) on each of the node associated with a db.
stacktrace
clientLog

From what I understand here is, after the second node is brought down, the forest goes to a disabled state even though it is configured for failover. And it doesn't fail over. We indeed shut down the threadpool and all queued tasks but this process hangs because the request sent to the REST layer takes a long time to return. It does indeed exit after we get the reply from the REST layer but it takes a long time and the error we get is because of the forest being disabled and not failed over. We have to check this in the stress cluster to check if that is what is happening. If yes, then I think it should be a bug on the server. Thanks.

It can be seen that when first rh7v-intel64-90-test-6.marklogic.com is stopped , it is blacklisted (even before forest on rh7v-intel64-90-test-6.marklogic.com failed over). But shouldn't the same happen (blacklisting and eventually stopping the job on the client side) occur when rh7v-intel64-90-test-5.marklogic.com is stopped

The same is happening. The stop job is called on the client side and there are no further requests submitted. But we have no way to control the inflight requests to the server. Since two of the three hosts are down, we are dealing with the database being unavailable situation and connections hang for up to transaction timeout. I see that the requests come back after the transaction time out and the job ends.

Kindly let me know if you feel otherwise.


Fix: Add infection as phony target

This PR

[x] adds infection as a phony target to Makefile

Follows #606.

Thank you, @chartjes!


Images Matched, then now seen as unmatching

I was able to stitch these two images together, using Translation mode and Ordered Input,

This successfully gave me out.jpg at first...
and then I ran the program again anding the images don't match! I didn't change anything between runs!

I just ran the software 4 times consecutively, and it worked one time... very inconsistent, why?

it finally worked once, but I have no idea why it's failing most of the time?

There are some randomness in the matching algorithm so I'm not surprised.
Also, this two images doesn't overlap at all, so you shouldn't expect it to produce anything meaningful results.

they do overlap, and it work!
[image: Inline image 3]
but ok, I will just execute it over and over until it works I suppose
On Wed, Jun 29, 2016 at 4:53 PM, Yuxin Wu<EMAIL_ADDRESS>wrote:

There are some randomness in the matching algorithm so I'm not surprised.
Also, this two images doesn't overlap at all, so you shouldn't expect it
to produce anything meaningful results.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ppwwyyxx/panorama/issues/13#issuecomment-229485277,
or mute the thread
https://github.com/notifications/unsubscribe/AB51Oe6EPRPIc8nXlWAhwROhrkkdqcBPks5qQttKgaJpZM4JBIFY
.

--
LinkedIn https://www.linkedin.com/in/invious | StackOverflow
http://stackoverflow.com/users/325081/aymon-fournier?tab=profile | Github
https://github.com/invious | Twitter https://twitter.com/BeInvious |
Facebook https://www.facebook.com/BeInvious | Medium
https://medium.com/@aymon

Oh I thought the two images are the smaller screenshot and the larger one.
I tested on your images, and it found a lot of point-wise matches of the same letter because each letter appear in different places and they do look identical indeed, so it is very hard to find a geometrically-consistent global match.
This program is actually intended for scene (fewer repeated identical patches) rather than text.

It works sometimes with some settings.. is there any way to use your code
with certain settings to stitch together screenshots? This is my goal, and
it seems to work sometimes but not always. As it is now I will simply run
the binary over and over until it successfully identifies overlapping areas
On Wed, Jun 29, 2016 at 6:41 PM, Yuxin Wu<EMAIL_ADDRESS>wrote:

Oh I thought the two images are the smaller screenshot and the larger one.
I tested on your images, and it found a lot of point-wise matches of the
same letter because each letter appear in different places and they do look
identical indeed, so it is very hard to find a geometrically-consistent
global match.
This program is actually intended for scene (fewer repeated identical
patches) rather than text.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ppwwyyxx/panorama/issues/13#issuecomment-229510995,
or mute the thread
https://github.com/notifications/unsubscribe/AB51OUuA2U3JL3gShT15Bzdr_iPflgBRks5qQvSegaJpZM4JBIFY
.

--
LinkedIn https://www.linkedin.com/in/invious | StackOverflow
http://stackoverflow.com/users/325081/aymon-fournier?tab=profile | Github
https://github.com/invious | Twitter https://twitter.com/BeInvious |
Facebook https://www.facebook.com/BeInvious | Medium
https://medium.com/@aymon

Presumably one way to achieve this is to setup a region in each image to detect key points, and ignore key points outside the range. This could avoid matching too many unexpected letters.

This is way out of my field of study, but if your software can be tweaked,
or if there are settings that can be used with your existing software, I
would love to include it in the project I intend to build to quickly stitch
screenshots
On Thu, Jun 30, 2016 at 3:19 PM, Yuxin Wu<EMAIL_ADDRESS>wrote:

Presumably one way to achieve this is to setup a region in each image to
detect key points, and ignore key points outside the range. This could
avoid matching too many unexpected letters.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ppwwyyxx/panorama/issues/13#issuecomment-229761090,
or mute the thread
https://github.com/notifications/unsubscribe/AB51OdcHAveC2XeeiFlq2J8vadzA_hbcks5qRBavgaJpZM4JBIFY
.

--
LinkedIn https://www.linkedin.com/in/invious | StackOverflow
http://stackoverflow.com/users/325081/aymon-fournier?tab=profile | Github
https://github.com/invious | Twitter https://twitter.com/BeInvious |
Facebook https://www.facebook.com/BeInvious | Medium
https://medium.com/@aymon