ADF Self hosted Integration Runtime concurrency limit not editable - azure-data-factory-2

In my project I couldn't modify the concurrency limit of SHIR. Somehow Admin is unable to recall where this option was disabled. Can someone please tell me how to make this editable?
Thanks

Its because the Integrated runtime is shared. You need to edit the settings in the origin ADF ressource

I think we can create a new Self hosted Integration Runtime for test to see if you have the permission edit the amount of the concurrent jobs.

Modifying concurrentJobsLimit for an Integration Runtime of subtype Linked is not supported.
Actually, if you try to do it through the corresponding REST API, it will fail like this:
{
"error": {
"code": "UnsupportedIntegrationRuntimeOperation",
"message": "The operation PatchIntegrationRuntimeNode on integration runtime type Linked is not supported.",
"target": null,
"details": null
}
}
The UI is noticing your SHIR is one linked and that's the reason why it is disabling the pencil icon.

Related

How to handle errors when making a call to app insights?

My web app is integrated with App Insights for telemetry purposes.
My question is this:
If I have my app insights configured incorrectly, i will get an error.
Should this error break the UI, or gracefully let the user know of the error, or should it just be silent/ignore it?
thanks.
It will depend on the type of application, end users etc.
Type of application - If this is going to be a public facing application, I don't think you would want the end users to know that there was an error with instrumentation. A regular check of the data being collected could help you understand if AppInsights is not configured correctly.
End users - If the end users are internal to your organization/team, the error information on UI could be considered for faster diagnosis.
Depending on the Framework/platform being used for the application, you could enable it using Auto-Instrumentaion which does not require a lot of configuration update to enable AppInsights. The chance of error here would be minimal.
However, if you are going with the SDK method, you could check the AppInsights logs, dashboards after a few minutes of hosting the application, to ensure that the data is flowing in.

lib in views when using couchdb query server

I've built a custom query server for a custom query language.
I've tried to create a design document with views map/reduce.
In those map/reduce functions (most importantly in the map function) I want to be able to reference library code.
I can see there is a lib node that can be added to the design document.
I am expecting the custom query server to receive add_lib message from CouchDB, but I have never seen this yet.
http://docs.couchdb.org/en/stable/query-server/protocol.html#add-lib
add_fun messages fail for code that depends on the library in the query server because the add_lib message has not yet been received in advance.
"The Query Server should parse, compile, and evaluate the function it
receives to make it callable later."
http://docs.couchdb.org/en/stable/query-server/protocol.html#add-fun
Since add_fun fails, this means that I am unable to save the design document.
I have viewed the following pages but I still no success:
How do I add the moment.js library to Cloudant NoSQL Design Doc on Bluemix
How do I DRY up my CouchDB views?
https://www.oreilly.com/library/view/couchdb-the-definitive/9780596158156/ch05.html
I'm doing something wrong or made a mistake it seems, your help is greatly appreciated.
The following website has the correct way to put a lib into a view.
https://caolan.org/posts/commonjs_modules_in_couchdb.html
Here's a new example for a fictitious language which is based on the working one.
{
"_id": "_design/example",
"language": "customlang",
"views": {
"lib": {
"math": "pi = 3.14"
},
"map_everything_to_pi": {
"map": "imports math; pi"
}
}
}
My problem arose because I could not save the design document when I had code in the map function that depended on the library.
By adjusting the map function to not depend on the library, I have now been able to save the document and upon querying the view, I witnessed the add_lib message get sent to the query server.
In CouchhDB 2.2.0 add_lib is sent when the view is queried, but not immediately on saving the design document where add_fun is called. In my view add_lib should be called before for each lib before CouchDB sends the add_fun messages.
This fact makes it impossible for add_fun to evaluate / precompile the code since the library is not yet known. add_lib must succeed in order for the design document to save, so it is impossible to save the design document.
I probably need to raise a bug tracker issue.

400 Bad Request on AWS Dynamo DB as Session Provider for ASP.NET

We use AWS's DynamoDB Session Provider in our app to store session data.
I recently moved to an environment where I can have NewRelic monitoring my app and it started throwing alerts regarding Dynamo DB access. However, NewRelic is the only monitoring tool that is getting it. I cannot see anything related to this problem in my application logging (log4net) or the Windows event viewer.
I searched a lot and even went through the source code of the provider but came out empty.
I'm getting (400) Bad Request from what is seems to be all the calls made during a period of 1 or 2 minutes at a time happening 3 or 4 times per hour.
The stacktrace I could get is not promising:
at System.Net.HttpWebRequest.GetResponse()
at System.Net.HttpWebRequest.GetResponse()
at Amazon.Runtime.AmazonWebServiceClient.getResponseCallback(IAsyncResult result)
And the offending URL is:
dynamodb.us-east-1.amazonaws.com/Stream/GetResponse
From the time-graphs below we can see that all requests are fine during most of time (graph 1), but when the problem occurs the number of successful requests made to DynamoDB goes to 0 (graph 1). And, at the same time, there is a spike in the number of errors thrown (graph 2).
UPDATE: During a low usage period in the weekend I ran Fiddler on the production server too see what the error from AWS looks like. I'm getting "The conditional request failed" which seems to happen because the value was updated while requesting and old value and therefore the value is not consistent to what was expected. Below is a full request/response as a sample.
Request:
POST https://dynamodb.us-east-1.amazonaws.com/ HTTP/1.1
X-Amz-Target: DynamoDB_20120810.UpdateItem
Content-Type: application/x-amz-json-1.0
User-Agent: aws-sdk-dotnet-35/2.0.15.0 .NET Runtime/4.0 .NET Framework/4.0 OS/6.2.9200.0 SessionStateProvider TableSync
Host: dynamodb.us-east-1.amazonaws.com
X-Amz-Date: 20140510T153947Z
X-Amz-Content-SHA256: e7a4886acac6ccf16f0da9be962d3a68bd50e381c202277033d0d2bb3208aa8a
Authorization: AWS4-HMAC-SHA256 Credential=redacted/20140510/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date;x-amz-target, Signature=redacted
Accept: application/json
X-NewRelic-ID: redacted
X-NewRelic-Transaction: redacted
Content-Length: 399
{
"TableName": "ASP.NET_SessionState",
"Key": {
"SessionId": {
"S": "redacted"
}
},
"AttributeUpdates": {
"LockId": {
"Value": {
"S": "42a9ed29-7a92-4455-8733-2f56c7d974b3"
},
"Action": "PUT"
},
"Locked": {
"Value": {
"N": "1"
},
"Action": "PUT"
},
"LockDate": {
"Value": {
"S": "2014-05-10T15:39:47.324Z"
},
"Action": "PUT"
}
},
"Expected": {
"Locked": {
"Value": {
"N": "0"
},
"Exists": true
}
},
"ReturnValues": "ALL_NEW"
}
Response:
HTTP/1.1 400 Bad Request
x-amzn-RequestId: redacted
x-amz-crc32: redacted
Content-Type: application/x-amz-json-1.0
Content-Length: 120
Date: Sat, 10 May 2014 15:33:17 GMT
{
"__type": "com.amazonaws.dynamodb.v20120810#ConditionalCheckFailedException",
"message": "The conditional request failed"
}
Graph 1
Graph 2
Any help is appreciated. Thanks!
The conditional lock failure can occur if your application makes multiple requests at the same time which access the session state. This can be common with Ajax calls. The article The Downsides of ASP.NET Session State provides a good explanation about how ASP.NET serializes access to a particular session state with some work arounds:
The first issue we'll look at is one that a lot developers don't know about; by default the ASP.NET pipeline will not process requests belonging to the same session concurrently. It serialises them, i.e. it queues them in the order that they were received so that they are processed serially rather than in parallel. [...]
These errors should not be bubbling up to application level. The AWS SDK for .NET throws exceptions for conditional update failures which the session provider is interpreting that as failure to get the lock. That is passed back to the ASP.NET framework which queues the request till it can get the lock:
[...] This means that if a request is in progress and another request from the same session arrives, it will be queued to only begin executing when the first request has finished. Why does ASP.NET do this? For concurrency control, so that multiple requests (i.e. multiple threads) do not read and write to session state in an inconsistent way.
Update
Norm Johanson's answer surfaces the root cause of the issue at hand, I'm keeping my respectively adjusted answer for the parts that still apply and the pointers to related issues.
Initial Answer
I haven't faced the exact issue you describe, but it rings a bell regarding similar patterns encountered in the context of investigating the AWS API's Eventual Consistency, see e.g. my answer to Deterministically creating and tagging EC2 instances for more on this. Things have considerably improved since then:
I've just updated my answer regarding the extended documentation about Troubleshooting API Request Errors being available meanwhile.
E.g. the AWS SDK for Java added more elaborate exponential backoff handling along the lines of what's proposed in Error Retries and Exponential Backoff in AWS, which also seems to be available in the AWS SDK for .NET to some extent.
Now, what I suspect is something like this:
New Relic is instrumenting the .NET byte code, which allows them to e.g. log all exceptions, regardless of whether they are handled or not.
Your client is e.g. getting throttled for request limit violations, which is causing a retryable 400 - ThrottlingException as per the API Error Codes, i.e. it triggers an exception that is handled and kicking off the exponential retry in turn, ultimately succeeding the request eventually, and leaving no trace for other tools accordingly.
Update: the exceptions at hand turn out to be the non retryable 400 - ConditionalCheckFailedException, thus this suspicion doesn't apply here.
In case, the question obviously is what might be causing this - even though the issue description doesn't match yours, the discussion in Performance issue in 2.0.12.0 hints on an ongoing threading issue in the 2.0.x releases of the .NET SDK, which might surface differently depending on the usage pattern at hand?
Update: Norm Johanson's answer surfaces the root cause of the issue at hand.

Sony DSC-QX10 setAFPosition - 403

After upgrading to the newest firmware, I recognized that there are new API-calls for the DSC-QX10.
I am interested in the setTouchAFPosition API call, but I am not allowed to call it.
The error response I get:
{
"error" : [ 403, "setTouchAFPosition" ],
"id" : 1
}
The request I send:
{
"method":"setTouchAFPosition",
"params":[77.08333333333334,60.06944444444444],
"id":1,
"version":"1.0"
}
Any ideas on that?
Support for Touch AF Camera Remote API has been added to DSC-QX10 and DSC-QX100 cameras.
Please try again after updating to latest QX10 firmware (Ver3.0 or later).
Best Regards,
Prem, Member of Developer World team at Sony.
This API call along with many others are intentionally made unavailable by Sony. I think you need some kind of developer ID which you pass in a call to their API method actEnableMethods.

Support for Add function in .NET Toolkit for Rally API

I am currently running with version 1.43 of the Rally WebServices API. I have been adding test cases to test sets by updating the test set after adding the test case to the testcases array within the test set.
This has been working well for several months, but I have just started to get the error:
"Could not set value for Test Cases: null"
The first test case I add to a new test set does not get the error. It is only when I have two or more test cases in the test case array that the error is returned.
I contacted Rally support and they recommended switching to v2.0 and using the following:
https://rally1.rallydev.com/slm/webservice/v2.0/testset/14469862335/testcases/add?key=nnn
Request Body:
{
"CollectionItems": [
{"_ref": "/testcase/14469885324"},
{"_ref": "/testcase/14469885842"},
{"_ref": "/testcase/14469886070"},
{"_ref": "/testcase/14469887154"}
]
}
The .NET toolkit does not support Add as far as I know, and I don't think there is a way of using "CollectionItems" either.
I am wondering if functionality to do this is planned for the .NET toolkit? If not, is there another way I can achieve this with the toolkit?
Thanks for your help,
Caspar Davey.