when stop/start forget the starting mode (-g, -s, etc)

Given a container with -g -s (Graph and Solr),
When you stop it (docker stop)
When you restart it (docker start)
Then DSE is in Cassandra mode (no Solr neither Graph)
Regards, J

I can't seem to reproduce this. Here are the steps I tried.

Start DSE in search mode

> docker run --name my-dse -d luketillman/datastax-enterprise:5.0.5 -s

Checked the logs (docker logs my-dse) and found this line indicating it had started in search mode:

INFO  22:08:19,542  DseDelegateSnitch.java:44 - Setting my workload to Search

Stopped the node

> docker stop my-dse

Started the stopped container.

> docker start my-dse

Checked the logs again and found another line indicating it had started in search mode again:

INFO  22:11:36,040  DseDelegateSnitch.java:44 - Setting my workload to Search

As far as I can tell, Docker is supposed to remember all the arguments passed to a container on docker run so it can reuse them if the container is stopped and then started again. I'm going to close this for now, but if you have any further details feel free to comment and I can try again. Thanks!

You are right Luke.
I forgot something, this happens when you publish a port in Kitematic. After restarting with the port published, when do a nodetool ring, Datacenter says: Cassandra.
Regards, Jose


docker error import container owner

Help
You can create an archive of a real operating system like CONTAINER?
On a forum I found that it can create a tar file, but want to do a load error that says I can not find the directory json
root@serverx14:/home/wilson/Descargas/container# docker load < ubuntuwilson.tar
2014/11/19 15:19:23 Error: open /tmp/docker-import-786426419/repo/bin/json: no such file or directory
root@serverx14:/home/wilson/Descargas/container#
I can not find that directory in the tar file.
If anyone can help me if you can create a system based on a real linux server container.
And if what would be the process.
In forums only found that you must create a tar of the whole system excluding some directory as:
/ proc
/ sys

This is still an issue, docker load adds all the meta information of the image, like the RUN command, while docker import only adds the basic files... is there any way you could fix it?

￼￼tar cvf image.tar image/
==> cd image/
==> tar cvf image.tar *
check the directory !!
I faced the similar log but finally I found I had include the extra directory!
It costed me two days!

You're right, I accidentally tried to docker load an image that was from docker export instead of the .tar.gz image. Would be nice if the error message was a little bit more helpful still ;)

@manveru we tried to make it better a while back, but doing so would require to extract the image twice, which was too much overhead for just an improvement to the error message, so we decided to not go that way.


feature: Can jump label (highlight character) show at the beginning of matched pattern?

Did you check the docs?

[X] I have read all the flash.nvim docs

Is your feature request related to a problem? Please describe.
Hi
When we use / to search some word, the jump label is shown at the end of the currently matched pattern, like the following example.

If we are not familiar to the set of similar variable names (i.e., we do not know the next character), the jump label shown at the end will hide the next character to reduce efficiency that narrowing down the "jumping" candidates.
 Remember that we are not familiar to these variable names. Now the jump label hide the next character of /lab to obstruct the searching --- we are not sure that what is the next character --- like the figure shown above.
Describe the solution you'd like
Let the jump label show at the beginning of the matched pattern, as shown below.

Describe alternatives you've considered
None.
Additional context
The jump label which is shown at the beginning is fine because, in this example, to search labal, we must know the first character is l and, then, we type /l without obstacle.

@hrcHarry
I think what you are looking for is label.before set it to true and set label.after to false.

but I still think it would be great if we had an option to display jump lablel on top of the search character

@hrcHarry I think what you are looking for is label.before set it to true and set label.after to false.

# but I still think it would be great if we had an option to display jump lablel on top of the search character

Could you share your noice config that makes search pop up like your screen? I tried and failed.

@hrcHarry I think what you are looking for is label.before set it to true and set label.after to false.

but I still think it would be great if we had an option to display jump lablel on top of the search character

Could you share your noice config that makes search pop up like your screen? I tried and failed.

Hi. In packer, I tried the similar setting and it fails.
You may use flash.nvim installed by Lazy.nvim and configured as shivamchandra75's setting. It works. Hope that helps.


Some cleanup and fixes. Details:

sprintf automatically zero-terminates the string, so macAddress[18] = 0; isn't necessary
reworked all strings to a table in order to improve readability, added const
if osGetSystemVersionData succeeds, it'll print out the info (which works perfectly on real hw)
fixed identation issues

By the way, this is a working pic

Looks good! Merging.


slow state update

Hello :)
thank a lot for this custom component  ! it works great, but I have to wait long time for the state update.
If I turn ON my heater and OFF few second after it's like if the state was freeze, I have to wait few minutes to have an update. On the Heatzy app the state change and on my heater too, but not in HA.
I try to remove and reinstall hass-heatzy but it's still the same, I don't know what to do.
My internet connection is slow,  but my other device have not this problem.
Thank you ! merci ;)

Same problem for me.

@Cyr-ius if set_preset_mode does not throw an exception we could update the status right away without waiting for the 60 second api-update-interval. As I just installed HomeAssistant today and I am not familiar with it, it might be easier for you to implement this..

I am not in favor of this solution. I prefer to send the command even if the API but a good minute to update. The command is executed without error. On the next HA refresh, the value will be correct.
However, I added a delay to slightly wait for the API update


Include the rest of internment's API

Even though only ArcIntern is flawed in internment, using its other APIs carries the risk that later on someone may start using ArcIntern without realizing its problems.
This crate should also export Intern and LocalIntern so that it can be used as a complete functional replacement.

We should really help @droundy fix internment instead of stealing more of his code.  I am sure he will happily accept a PR.  I ended up forking his implementation because I do not fully understand some of the unsafe code in internment, but that does not mean it is in any way broken, except for the one confirmed bug (https://github.com/droundy/internment/issues/11).
For this crate, I prefer to focus on improving the ArcInterner functionality, including reducing contention and hashing overhead.

Indeed, I'd love a pull request. In a couple of weeks the quarter will be over and I will have a bit more time for fun programming. There's a backlog of things to do, but this is definitely on the list.


Could not connect

1. Is bug reproducible with latest forwardproxy build?

Yes
2. What are you trying to do?
Trying to connect the proxy
3. What is your entire Caddyfile?
a.example.com, b.example.com {
    forwardproxy {
        basicauth user1 123456
        ports 80 443 11001
        response_timeout 30
        dial_timeout     30
    }
    root /root/www
}

4. How is your client configured?
5.  If multiple servers are used (for example with upstream), describe those as well.
Under CentOS 7
caddy -conf Caddyfile
6. Please paste any relevant HTTP request(s) here.

7. What did you expect to see?
The proxy working on all three ports.
8. What did you see instead (give full error messages and/or log)?
When I try on port 80, it gave me "404 Site google.com is not served on this interface" on Firefox and "ERR_TUNNEL_CONNECTION_FAILED" on Chrome
On port 443, it gave me "Connection Reset" on Firefox and "ERR_EMPTY_RESPONSE" on Chrome
On port 11001, it gave me "Connection Reset" on Firefox and "ERR_PROXY_CONNECTION_FAILED" on Chrome
9. How can someone who is starting from scratch reproduce the bug as minimally as possible?

cat -n proxy.conf
1  :8118 {
2          gzip
3          root /srv/http
4          log stdout
5
6          forwardproxy {
7          hide_ip
8          hide_via
9          }
10  }
11
cat -n caddy.conf
1  :80 {
2          gzip
3          # root /usr/share/caddy
4          root /srv/http
5          log stdout
6  }
7
8  import caddy.conf.d/.conf
If I put the ports on the inside, Caddy will not start.
I have not confirmed if the gzip actually works or not..
Logs look like this:
2020/02/06 12:27:19 <IP_ADDRESS> - - [06/Feb/2020:12:27:19 -0500] "CONNECT / HTTP/1.1" 502 16
2020/02/06 12:27:20 <IP_ADDRESS> - - [06/Feb/2020:12:27:20 -0500] "CONNECT / HTTP/1.1" 200 0
2020/02/06 12:27:20 <IP_ADDRESS> - - [06/Feb/2020:12:27:20 -0500] "CONNECT / HTTP/1.1" 200 0
2020/02/06 12:27:20 [ERROR 502 ] Lookup of syndication.twitter.com failed: lookup syndication.twitter.com: no such host
2020/02/06 12:27:20 <IP_ADDRESS> - - [06/Feb/2020:12:27:20 -0500] "CONNECT / HTTP/1.1" 502 16
2020/02/06 12:27:20 [ERROR 502 ] Lookup of imasdk.googleapis.com failed: lookup imasdk.googleapis.com: no such host
2020/02/06 12:27:20 <IP_ADDRESS> - - [06/Feb/2020:12:27:20 -0500] "CONNECT / HTTP/1.1" 502 16
2020/02/06 12:27:21 [ERROR 502 ] Lookup of static.scroll.com failed: lookup static.scroll.com: no such host
2020/02/06 12:27:21 <IP_ADDRESS> - - [06/Feb/2020:12:27:21 -0500] "CONNECT / HTTP/1.1" 502 16
2020/02/06 12:27:21 [ERROR 502 ] Lookup of cdn.tinypass.com failed: lookup cdn.tinypass.com: no such host
2020/02/06 12:27:21 <IP_ADDRESS> - - [06/Feb/2020:12:27:21 -0500] "CONNECT / HTTP/1.1" 502 16
2020/02/06 12:27:21 [ERROR 403 ] No allowed IP addresses for www.npttech.com
2020/02/06 12:27:21 <IP_ADDRESS> - - [06/Feb/2020:12:27:21 -0500] "CONNECT / HTTP/1.1" 403 14
2020/02/06 12:27:21 [ERROR 502 ] Lookup of c.amazon-adsystem.com failed: lookup c.amazon-adsystem.com: no such host
2020/02/06 12:27:21 <IP_ADDRESS> - - [06/Feb/2020:12:27:21 -0500] "CONNECT / HTTP/1.1" 502 16
2020/02/06 12:27:22 [ERROR 502 ] Lookup of z-na.amazon-adsystem.com failed: lookup z-na.amazon-adsystem.com: no such host
2020/02/06 12:27:22 <IP_ADDRESS> - - [06/Feb/2020:12:27:22 -0500] "CONNECT / HTTP/1.1" 502 16
caddy -plugins | grep forward
http.forwardproxy
caddy -version
v1.0.4
The 502's are dns failures; adblocking..
HTH


grounded DINO-V2

Hello,
are you planning on integrating DINO-2 for faster and more accurate results for bbox+labels, rather than grounded-dino?

Hello! Are you talking about DINOv2 by Meta Research? If not, can you share a link to the research paper! We're keen to add new state-of-the-art models as extensions to the autodistill ecosystem.

Hello!!:) yes, I was talking about DINO-2 by Meta. B.t.w. this is very confusing since groundingDINO is based on a differet model named DINO as well, by IDEA-Reasearch

Thank you for the clarification! The DINOv2 paper does not mention object detection as an application, so we will not be implementing it at this stage. We are working on DINOv2 support, but for classification with SVM (DINOv2 for classification returns embeddings, so we need to add an additional classifier on top that can work with those embeddings). As new foundation object detection models are released, we will look at adding them to autodistill!

Thanks so much for the reply James, and I am following you, and this repo for more updates. Although there is something that is not quite clear: Knowledge distillation is used to compress a complex and large neural network into a smaller and simpler one, while still retaining the accuracy and performance of the resultant model. This process involves training a smaller neural network to mimic the behavior of a larger and more complex "teacher" network by learning from its predictions or internal representations.
With autodistill! we can auto-annotate through a base model e.g., G-DINO and train with YOLO8 for example. My issue is: what if the base model doesn't recognize the labels (name of specific boats I have in a marine dataset), how can I fine-tune it? so the model will find a boat, but will also "know" the brand of the boat for example?

My issue is: what if the base model doesn't recognize the labels (name of specific boats I have in a marine dataset), how can I fine-tune it? so the model will find a boat, but will also "know" the brand of the boat for example?

This is still an open question in research! The short answer is there are still many problems you can't do without a human in the loop yet.

@kobic8 I doubt it will ever know the specific brand of your boat, but you can try prompt engineering. For example, look for ships in specific colors or shapes.


wallee_transactions.state is regularly out of sync

Hi there,
We use<EMAIL_ADDRESS>in two shops and about every 2nd day we have at least one transaction where the wallee_transactions.state is not synchronised with the transaction, although app-wallee.com's webhook log is claiming that all webhooks were executed successfully and received a HTTP/200.
Manually re-triggering the webhook usually updates the state successfully. If this happened once a month, I wouldn't mind, but every other day seems a bit much to us.
Not sure what causes the issue, since the webhook endpoint seems to work in general. Not having spent a lot of time analyzing your code:

Does wallee-payment/jtl-5 returns the webhook before it confirms that wallee_transactions.state has been successfully updated to the new state?
Does app-wallee.com just validate its HTTP/200 status or also its response body? (e.g. potential issues with unintended redirects by other plugins, htaccess etc.)

Any ideas?
Happy to provide further information.

Hello, were you able to find a solution to this issue?

No, we raised a support ticket on Aug 6<EMAIL_ADDRESS>since no one seems to feel responsible for the issues raised here.
We found the following two reasons:

Wallee does not check if the transaction was found and updated. Therefore the webhook always returns a 200 response - even when the transaction update did fail.
https://github.com/wallee-payment/jtl-5/blob/c7285771a435c0c75d296f0cf68b7fd20d55bbdd/Services/WalleeTransactionService.php#L382-L391

The order is only stored in the user's session, not in the db. If for whatever reason a transaction takes too long and the user looses patience at some point, the session might get lost. Since wallee does not store the order on their own, those orders will be completely lost and have to be manually recreated based on the infos stored in app-wallee.com.
https://github.com/wallee-payment/jtl-5/blob/c7285771a435c0c75d296f0cf68b7fd20d55bbdd/Services/WalleeTransactionService.php#L509

I am in contact with 3 business partners, and we all have the daily problem of having to create orders manually. This means daily manual checking of all orders and transactions. Most of them use the Postfinance plugin. But it's technically the same.
I hope there will be an improvement in the near future; otherwise we will look for another solution.

Yeah, not sure how wallee weights «business impact» in their prioritisation of reported issues. We're currently evaluating writing our own payment plugin which would allow us to switch back to Datatrans. Their backend is old school, but works. Let me know if you're interested.

We still use datatrans at our live shop and it works perfectly. Even with the option "payment before order creation". It works absolutely great. Unfortunately, the plugin is no longer being developed, which we find extremely unfortunate.

Yes, we very likely used the same plugin but had to update due to bugfixes and security updates we urgently needed.


Hamburger icon is invisible in small window in Edge in high contrast

https://preview-dev.nugettest.org/packages

Duplicate of https://github.com/NuGet/NuGetGallery/issues/4147.


⚠ Samsung has degraded performance

In 3bcae60, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2489 ms

Resolved: Samsung performance has improved in ebc27d1.


Rig changing user permissions on existing R library?

Hi there! I'm just giving rig a whirl and really enjoying it so far. However, after I installed it, I opened my existing R installation, and I could no longer install packages to my existing library at /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library due to a permission issue.
Checking that folder, all of the subfolders now belong to root:admin. If I re-open R with sudo, I can install packages again.
I definitely didn't need sudo to install packages before I installed rig - I just installed and updates packages yesterday. Is it possible that rig inadvertently changed the permissions on my library folder

Ah, I only just clocked this comment: https://github.com/r-lib/rig/issues/80#issuecomment-1144542156
Is there a warning message on installation of rig that you're changing the permissions of an existing library folder?

Yeah, a warning would be nice indeed when changing permissions of existing R versions. Or rig probably should not change the permissions of the other R versions at all.


[Bug] 0-welcome.yml doesn't run

0-welcome.yml workflow didn't run on repo creation, had to run it manually

Thanks for the report, @Maxim-Mazurok. Duplicate of https://github.com/skills/write-javascript-actions/issues/37.

@hectorsector I wasn't sure if it is a duplicate, because the first workflow is triggered on repo creation. The other issue is about not triggering on PR I believe.

I agree with @Maxim-Mazurok. This issue is about the Step 0 workflow, and #37 is about the Step 1 workflow.
I think this issue is related to skills/code-with-codespaces#87 and skills/copilot-codespaces-vscode#136.

Apologies! Thanks for catching that @Maxim-Mazurok @sinsukehlab


Cthulhu Dark Ages Character Sheet (Based on Call_of_Cthulhu_7th_Ed)

Changes / Comments
Using the 7th Ed, Call of Cthulhu sheet as a base, made a sheet for use in Cthulhu Dark Ages games per the 7th Ed. Supplement.
• Various skills' names and values are altered per Cthulhu Dark Ages 7th Ed. Rules.
• Armor and Shield (defensive use) Inputs and relevant dice roll Inputs/buttons were added to the ''Combat'' section for ease of use and book-keeping.
• A ''Companions and Mounts'' section has been added for their input and book-keeping. A custom dice roller was attached for ease of use.
• Dark Age Bouts of madness and body hit location automated dice-rolls have been added to avoid breaking the game's flow.
• A current mental condition input was added for the player to keep track of.
• Added most used Dice Rolls and a Custom-input dice-roller.
• Header Colors and background color were changed to create an effect close to a physical period sheet.
• Cthulhu Dark Ages logo replaced og Call of Cthulhu logo (with alternative).
• Reduced Height of Backstory Boxes (player input in those is rarely over 2-3 lines).

oops. I see. Thank you for the Info. First time tampering with HTML and doing this. Sorry If I wasted your time.

Tis not a waste of time as I'm here to help new sheet authors like yourself get up and going. :)
You may want to reach out to the original authors to see if they could help get your changes in. Adding in your content from the two sheets should be fairly easy. You'll just put the new inputs, logos, and other items into the sheet where you will want them then use CSS to hide/show them based on if a user selects an option from a drop down menu.
It takes a bit of learning but will save you a lot of extra work in the future. :)

Thanks a lot again. This is really usefull. Will play around a bit with AGE's format to see if i can manage anything. I'll keep contacting the original authors as a last result if I hit a roadblock. :D


Upgrade numpy supported versions

We currently pin down numpy versions in our setup.py script:
master: numpy<2.0.0,>1.16.0 (see https://github.com/apache/incubator-mxnet/blob/master/tools/pip/setup.py#L62)
v1.9.x: numpy<2.0.0,>1.16.0 (see https://github.com/apache/incubator-mxnet/blob/v1.9.x/tools/pip/setup.py#L63)
Our CI system, however, pins down specific versions:
master: numpy>=1.17,<1.20.0 (see https://github.com/apache/incubator-mxnet/blob/master/ci/docker/install/requirements#L22)
v1.9.x: numpy>1.16.0,<1.19.0 (see https://github.com/apache/incubator-mxnet/blob/v1.9.x/ci/docker/install/requirements#L29)
The are vulnerabilities reported in numpy versions currently used in our CI system.
https://nvd.nist.gov/vuln/detail/CVE-2021-41495
https://nvd.nist.gov/vuln/detail/CVE-2021-41496
When attempting to upgrade the version of numpy, the following tests are failing:

test_numpy_interoperability.test_np_array_function_protocol
test_numpy_op.test_np_delete

Failing test details:
windows-cpu run in v1.9.x: https://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Fwindows-cpu/detail/PR-20859/2/pipeline/
======================================================================
[2022-02-03T01:16:31.090Z] ERROR: test_numpy_interoperability.test_np_array_function_protocol
[2022-02-03T01:16:31.090Z] ----------------------------------------------------------------------
[2022-02-03T01:16:31.090Z] Traceback (most recent call last):
[2022-02-03T01:16:31.090Z]   File "C:\Python38\lib\site-packages\nose\case.py", line 198, in runTest
[2022-02-03T01:16:31.090Z]     self.test(*self.arg)
[2022-02-03T01:16:31.090Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\tests\python\unittest\common.py", line 218, in test_new
[2022-02-03T01:16:31.090Z]     orig_test(*args, **kwargs)
[2022-02-03T01:16:31.090Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\windows_package\python\mxnet\util.py", line 297, in _with_np_shape
[2022-02-03T01:16:31.090Z]     return func(*args, **kwargs)
[2022-02-03T01:16:31.090Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\windows_package\python\mxnet\util.py", line 481, in _with_np_array
[2022-02-03T01:16:31.090Z]     return func(*args, **kwargs)
[2022-02-03T01:16:31.090Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\windows_package\python\mxnet\numpy_dispatch_protocol.py", line 57, in _run_with_array_func_proto
[2022-02-03T01:16:31.090Z]     raise RuntimeError('Running function {} with NumPy array function protocol failed'
[2022-02-03T01:16:31.090Z] RuntimeError: Running function test_np_array_function_protocol with NumPy array function protocol failed with exception arrays used as indices must be of integer (or boolean) type
[2022-02-03T01:16:31.090Z] -------------------- >> begin captured stdout << ---------------------
[2022-02-03T01:16:31.368Z] Dispatch test: all
[2022-02-03T01:16:31.368Z] Dispatch test: any
[2022-02-03T01:16:31.368Z] Dispatch test: sometrue
[2022-02-03T01:16:31.368Z] Dispatch test: argmin
[2022-02-03T01:16:31.368Z] Dispatch test: argmax
[2022-02-03T01:16:31.368Z] Dispatch test: around
[2022-02-03T01:16:31.368Z] Dispatch test: round
[2022-02-03T01:16:31.368Z] Dispatch test: round_
[2022-02-03T01:16:31.368Z] Dispatch test: argsort
[2022-02-03T01:16:31.368Z] Dispatch test: sort
[2022-02-03T01:16:31.368Z] Dispatch test: append
[2022-02-03T01:16:31.368Z] Dispatch test: broadcast_arrays
[2022-02-03T01:16:31.368Z] Dispatch test: broadcast_to
[2022-02-03T01:16:31.368Z] Dispatch test: clip
[2022-02-03T01:16:31.368Z] Dispatch test: concatenate
[2022-02-03T01:16:31.368Z] Dispatch test: copy
[2022-02-03T01:16:31.368Z] Dispatch test: cumsum
[2022-02-03T01:16:31.368Z] Dispatch test: diag
[2022-02-03T01:16:31.368Z] Dispatch test: diagonal
[2022-02-03T01:16:31.368Z] Dispatch test: diagflat
[2022-02-03T01:16:31.368Z] Dispatch test: dot
[2022-02-03T01:16:31.368Z] Dispatch test: expand_dims
[2022-02-03T01:16:31.368Z] Dispatch test: fix
[2022-02-03T01:16:31.368Z] Dispatch test: flip
[2022-02-03T01:16:31.368Z] Dispatch test: flipud
[2022-02-03T01:16:31.368Z] Dispatch test: fliplr
[2022-02-03T01:16:31.368Z] Dispatch test: inner
[2022-02-03T01:16:31.368Z] Dispatch test: insert
[2022-02-03T01:16:31.368Z] Dispatch test: max
[2022-02-03T01:16:31.368Z] Dispatch test: amax
[2022-02-03T01:16:31.368Z] Dispatch test: mean
[2022-02-03T01:16:31.368Z] Dispatch test: min
[2022-02-03T01:16:31.368Z] Dispatch test: amin
[2022-02-03T01:16:31.368Z] Dispatch test: nonzero
[2022-02-03T01:16:31.368Z] Dispatch test: ones_like
[2022-02-03T01:16:31.368Z] Dispatch test: atleast_1d
[2022-02-03T01:16:31.368Z] Dispatch test: atleast_2d
[2022-02-03T01:16:31.368Z] Dispatch test: atleast_3d
[2022-02-03T01:16:31.368Z] Dispatch test: prod
[2022-02-03T01:16:31.368Z] Dispatch test: product
[2022-02-03T01:16:31.368Z] Dispatch test: ravel
[2022-02-03T01:16:31.368Z] Dispatch test: repeat
[2022-02-03T01:16:31.368Z] Dispatch test: reshape
[2022-02-03T01:16:31.368Z] Dispatch test: roll
[2022-02-03T01:16:31.368Z] Dispatch test: split
[2022-02-03T01:16:31.368Z] Dispatch test: array_split
[2022-02-03T01:16:31.368Z] Dispatch test: hsplit
[2022-02-03T01:16:31.368Z] Dispatch test: vsplit
[2022-02-03T01:16:31.368Z] Dispatch test: dsplit
[2022-02-03T01:16:31.368Z] Dispatch test: squeeze
[2022-02-03T01:16:31.368Z] Dispatch test: stack
[2022-02-03T01:16:31.368Z] Dispatch test: std
[2022-02-03T01:16:31.368Z] Dispatch test: sum
[2022-02-03T01:16:31.368Z] Dispatch test: swapaxes
[2022-02-03T01:16:31.368Z] Dispatch test: take
[2022-02-03T01:16:31.368Z] Dispatch test: tensordot
[2022-02-03T01:16:31.368Z] Dispatch test: tile
[2022-02-03T01:16:31.368Z] Dispatch test: transpose
[2022-02-03T01:16:31.368Z] Dispatch test: unique
[2022-02-03T01:16:31.368Z] Dispatch test: unravel_index
[2022-02-03T01:16:31.368Z] Dispatch test: diag_indices_from
[2022-02-03T01:16:31.368Z] Dispatch test: delete
[2022-02-03T01:16:31.368Z]
[2022-02-03T01:16:31.628Z] --------------------- >> end captured stdout << ----------------------
[2022-02-03T01:16:31.628Z] -------------------- >> begin captured logging << --------------------
[2022-02-03T01:16:31.628Z] common: INFO: Setting module np/mx/python random seeds, use MXNET_MODULE_SEED=588078914 to reproduce.
[2022-02-03T01:16:31.628Z] common: WARNING: Error seen with seeded test, use MXNET_TEST_SEED=322621745 to reproduce.
[2022-02-03T01:16:31.628Z] --------------------- >> end captured logging << ---------------------
[2022-02-03T01:16:31.628Z]
[2022-02-03T01:16:31.628Z] ======================================================================
[2022-02-03T01:16:31.628Z] ERROR: test_numpy_op.test_np_delete
[2022-02-03T01:16:31.628Z] ----------------------------------------------------------------------
[2022-02-03T01:16:31.628Z] Traceback (most recent call last):
[2022-02-03T01:16:31.628Z]   File "C:\Python38\lib\site-packages\nose\case.py", line 198, in runTest
[2022-02-03T01:16:31.628Z]     self.test(*self.arg)
[2022-02-03T01:16:31.628Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\tests\python\unittest\common.py", line 218, in test_new
[2022-02-03T01:16:31.628Z]     orig_test(*args, **kwargs)
[2022-02-03T01:16:31.628Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\windows_package\python\mxnet\util.py", line 297, in _with_np_shape
[2022-02-03T01:16:31.628Z]     return func(*args, **kwargs)
[2022-02-03T01:16:31.628Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\windows_package\python\mxnet\util.py", line 481, in _with_np_array
[2022-02-03T01:16:31.628Z]     return func(*args, **kwargs)
[2022-02-03T01:16:31.628Z]   File "C:\jenkins_slave\workspace\ut-python-cpu\tests\python\unittest\test_numpy_op.py", line 3635, in test_np_delete
[2022-02-03T01:16:31.628Z]     expected_ret = _np.delete(a.asnumpy(), obj_onp, axis=axis)
[2022-02-03T01:16:31.628Z]   File "<__array_function__ internals>", line 5, in delete
[2022-02-03T01:16:31.628Z]   File "C:\Python38\lib\site-packages\numpy\lib\function_base.py", line 4406, in delete
[2022-02-03T01:16:31.628Z]     keep[obj,] = False
[2022-02-03T01:16:31.628Z] IndexError: index 0 is out of bounds for axis 0 with size 0
[2022-02-03T01:16:31.628Z] -------------------- >> begin captured logging << --------------------
[2022-02-03T01:16:31.628Z] common: WARNING: Error seen with seeded test, use MXNET_TEST_SEED=2089306386 to reproduce.
[2022-02-03T01:16:31.628Z] --------------------- >> end captured logging << ---------------------

I have created a draft PR (https://github.com/apache/incubator-mxnet/pull/20872) to work on updating, will update the list of failing tests in this issue as more information is collected.

Is it also possible to update Graphviz in the PR? The required version for Graphviz is rather old.
See issue #20897

I'm not able to do a reasonable job of testing an updated version of graphviz.  If we put the graphviz update in this PR, then a required revert based on either a numpy or graphviz problem would revert both modules- an unfortunate coupling.
Could you suggest a graphviz version to move to, based on some testing, and we'll make a separate PR for that?

It looks like the issue has been resolved in the linked PR by @DickJC123 for v1.x, v1.9.x, and master branch.


Getting this issue after installing

undefined method `lti_settings' for #Rails::Application::Configuration:0x0000aaaad3323d30

@cashaffer @Arinjoy-Basak @hosamshahin @hamzamanzoor how to resolve this ??

I think that we need some details about what you did and what went
wrong.
On Sun, May 30, 2021 at 11:59 AM AYAN BISWAS @.***>
wrote:

@cashaffer https://github.com/cashaffer @Arinjoy-Basak
https://github.com/Arinjoy-Basak @hosamshahin
https://github.com/hosamshahin @hamzamanzoor
https://github.com/hamzamanzoor how to resolve this ??
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CSSPLICE/LTI/issues/57#issuecomment-851021812, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGSJ4AQVWQ2RVISLGRGJDLTQJOGTANCNFSM45ZPWEZA
.

--
Dr. Cliff Shaffer
Professor and Associate Department Head for Graduate Studies
Department of Computer Science              Phone:<PHONE_NUMBER>
Virginia Tech, Blacksburg, VA 24061          WWW: www.cs.vt.edu/~shaffer

@cashaffer it is resolved now thanks


neofetch doesn't detect resolution when using awk program other than gawk on xrandr

Description
When one uses any awk program other than gawk (such as mawk, or the default awk on *BSD system) to fetch information on screen resolution on xrandr, it fails. (It works fine with xdpyinfo, but AFAIU from the neofetch source code it detects from xrandr first.)
System Information
Neofetch version
1.7
Operating system
Tested on FreeBSD in a VM.
Screenshot

Verbose log
Log
(P.S.: Since xrandr works fine, should we drop resolution detection using xdpyinfo?)

So basically we're using GNU only features in the xrandr awk command which is causing it to not work on BSD systems?

Yep. Escaping the * fixed it.
However, detecting monitor resolution with refresh rates without gawk also fails (no output).

I pushed a fix to a new branch called xrandr, please test it out and let me know if it fixes
the issue. I'm not on my main machine atm so I don't have any VMs I can boot up.

Yep, that fixes it.

The fix is now in master, thanks for reporting this.


Create comments page

Create comments page which filled with comments related metrics

https://github.com/hellowin/kanca/pull/77


Does not connect to Flywheel from Mac.

Hangs at "connecting to bike" - Derailleur connects to it (I used it to calibrate), the FlyTest page also does not see it, which I assume runs off the same underlying code. Can post debug logs from Derailleur if that's useful.

It's possible there are multiple issues at play, but it sounds like the bike might just not be advertising because it's off/asleep or something else is still connected to it.
Some easy things to try:

Make sure any other apps that can connect to the bike like Derailleur and FlyTest are closed.
Check the macOS Bluetooth menu and disconnect "Flywheel 1" if you see it connected. The Bluetooth menu can be enabled thru Bluetooth in System Preferences.
Check any other devices (phone/tablet) that might be connected to the bike.
Turn the crank while it's trying to connect to keep the bike awake and advertising.
Batteries and Bluetooth range are the most common issues, but since you can connect with Derailleur we can rule those out.

One thing that could prevent Gymnasticon from finding the bike is if its advertised BLE name does not start with "Flywheel". If you find that your bike has a different name, you can use --flywheel-name to disable the name check (pass it "") or target an exact name. The reason it filters by name is because many other devices use the same service uuid (Nordic UART Service). As far as I've seen, every Flywheel bike has the name "Flywheel 1" so I'd be surprised if this was the issue, let us know if it is!
By contrast, FlyTest doesn't filter by name and instead lists all Nordic UART Service advertisements (including the Flywheel bike) in the browser's BLE dropdown. (They use different BLE implementations under the hood)

Hey @francisjervis I'm going to close this out as it's been a while. Please feel free to reopen if you're still having issues!


Dead Link

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

https://developer.mozilla.org/en-US/docs/new?slug=CSSMathMax&parent=66089 does not exist.

This will probably be just a page that has not been written yet. Did you find a link to it somewhere?


fix: Add distributed sampler wrapper module

Mainly used for for the scenario where a dataset sampler need to be used in distributed algorithm.

I suggest that we can tell users to use catalyst directly

For users having this need, we suggest you adopt the module in catalyst https://github.com/catalyst-team/catalyst/blob/2ffaab927c57a68367f2ace6757eaf87d4984742/catalyst/data/sampler.py#L502 which can attach the original sampler with DistributedSampler feature.


AQCU-1150: What to list for gaps on TSS report - Gap Extents

Implements ideas from Laura's comment on AQCU-1150. Should be merged with https://github.com/USGS-CIDA/AQCU/pull/731

Coverage increased (+0.003%) to 98.501% when pulling 145414c91536a15f26a97e5cf2c22e37e8abea87 on zmoore-usgs:feature/gap-extents into f66be2be3dbe92a8827414f251d4200e950689ba on USGS-R:master.


Strange issue with data binding when properties are in prototype

<dom-module id="my-element">
    <template>
      {{x}}
      {{y}}
    </template>

</dom-module>

In this example only y will be rendered, x property of created element is undefined O_o.

you need a properties: {} section around your properties
         properties: {
          is: 'my-element',
          x: 'x',
          y: '',
        }
        ready: function () {
          this.y = 'y';
        }
      });

Oh, they also need to be in the format:
route: {type: String, value:"home", notify: true},
drawerWidth: {type: String, value:"200px", notify: true},```

I do not need, setting them in runtime is OK, moreover I don't need to put is there.
Yes, putting in properties works, but I do not want them to be in properties.
I found issue - prototype's value is loosing during accessors creation, I'm working on PR to fix that, few minutes.

PR #2258

Well, it will not work as I expected, at least in current Polymer architecture, but rewriting original prototype property with accessors was really incorrect.
Are there any plans to support bindings to properties that are not in properties, like it was in Polymer 0.5? Would be nice to have it as one-time bindings without any notification system and things like that, it might be even faster in some cases.

The supported way to define default values for properties is via the value field for a property in the properties object. After review, we've decided not to support 2 ways to do this.


Pin protobuf version

Tested the video classification notebook on CDSW nightly - no apparent issues.

@andrewrreed @melaniebeck review please!


Dump optional fields as null.

Hello. I have one question. How can i dump optional fields as nulls using MappingJSONEecoderClassBuilder?
For example. I have class
class UserInfo:
    def __init__(self):
        self.__id = None
        self.__full_name = None
        self.__avatar = None

    @property
    def id(self):
        return self.__id

    @id.setter
    def id(self, new_id):
        self.__id = new_id

    @property
    def full_name(self):
        return self.__full_name

    @full_name.setter
    def full_name(self, full_name):
        self.__full_name = full_name

    @property
    def avatar(self):
        return self.__avatar

    @avatar.setter
    def avatar(self, avatar):
        self.__avatar = avatar

_user_info_json_schema = [
    JsonPropertyMapping("Id", "id"),
    JsonPropertyMapping("FullName",
                        "full_name",
                        encoder_cls=UserFullNameJSONEncoder,
                        decoder_cls=UserFullNameJSONDecoder,
                        optional=True),
    JsonPropertyMapping("Avatar", "avatar",
                        encoder_cls=UserAvatarJSONEncoder,
                        decoder_cls=UserAvatarJSONDecoder,
                        optional=True)
]

UserInfoJSONDecoder = MappingJSONDecoderClassBuilder(UserInfo, _user_info_json_schema).build()
UserInfoJSONEncoder = MappingJSONEncoderClassBuilder(UserInfo, _user_info_json_schema).build()

And the code:
resp = requests.get(...)
user_info = json.loads(resp.text, cls=UserInfoJSONDecoder)
json.dumps(user_info, cls=UserInfoJSONEncoder)

If, for example, user_info.avatar is None json result does not contain that field at all. But i want that json result contain '"Avatar": null'. If i just remove optional flag, UserInfoJSONEncoder fails to parse json response that contains '"Avatar": null'.
How can i achieve this behaivor?

The issue is that UserAvatarJSONEncoder is expecting a Python object (or list of them) so it falls over when it gets None.
I think it would be better if None is serialised to null and visa-versa for serialization; I shall submit a ticket for this change.
The (ugly) workaround for the moment would be to subclass the encoder and override default. If you change the name of the encoder that is built to _UserAvatarJSONEncoder:
class UserAvatarJSONEncoder(_UserAvatarJSONEncoder):
    def default(to_serialise):
       return None if to_serialise is None else super().default(to_serialise)

A similar workaround would be needed for the decoder (or it could be left with optional=True if the default value of "avatar" is None).

This issue should be fixed as of version 1.4.0. Does this solve your problem?

I think it should. But it need to be tested. Thanks anyway.

I updated to the newly version and remove optional flag. But it still raise same error.
  File "/Users/RW/testing/workspace/repos/hgijson_test/hgijson_test.py", line 19, in <module>     main()   File "/Users/RW/testing/workspace/repos/hgijson_test/hgijson_test.py", line 16, in main     print(json.dumps(user_info, cls=UserInfoJSONEncoder))   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py", line 237, in dumps     **kw).encode(obj)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/encoder.py", line 198, in encode     chunks = self.iterencode(o, _one_shot=True)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/encoder.py", line 256, in iterencode     return _iterencode(o, 0)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/hgijson/json/builders.py", line 82, in default     encoded = superclass.default(encoder, serializable)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/hgijson/json/_serialization.py", line 50, in default     return serializer.serialize(serializable)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/hgijson/serialization.py", line 54, in serialize     encoded_value = self._serialize_property_value(value, mapping.serializer_cls)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/hgijson/serialization.py", line 68, in _serialize_property_value     return serializer.serialize(to_serialize)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/hgijson/json/_converters.py", line 37, in serialize     return self._encoder.default(serializable)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/hgijson/json/builders.py", line 82, in default     encoded = superclass.default(encoder, serializable)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/hgijson/json/_serialization.py", line 48, in default     return super().default(serializable)   File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/encoder.py", line 179, in default     raise TypeError(repr(o) + " is not JSON serializable") TypeError: None is not JSON serializable

hgijson_test.zip
Here is simple test project that i am using.

By the way, deserialization from null to None is working.
Problem with serialization to JSON.

And if you change (hgljson_test.py) user_info.avatar = None to user_info.avatar = UserAvatar() deserializer will correctly dumps inner None fields.

1.4.2 should fix the problem once and for all!
I've checked it against your test project and it works as expected :).

I've also checked inheritance and yes, it's now working without errors.
But i have one more question :) Now about optional flag behaivor.
What if i want that field in API response be optional, but in request it should be mandatory?
For example, Avatar field's optional flag set to True:
...
"FullName": {
"Firstname": "54030",
"Lastname": "567727221715"
},
"Avatar": null,
"IsValidPhoneNumber": false,
"IsValidEmail": false
...
In this response Avatar is null and Decoder ignores it (in Avatar field will be value from constructor).
It's fine. But if i will encode Avatar field with optional flag set to True (same schema for request) and value None, Encoder just ignores that field (there is not such field in json at all).

The best way to do this would be to allow the property to be optional but validate the value of Avatar in the input JSON. Chances are that, if you're forcing "Avatar" to be there, you don't want the property to be null so even if optional_in=False, optional_out=True existed, it wouldn't solve the problem.
The below probably does what you're after:
def validate_avatar(user_info_as_json: dict):
    avatar_as_json = user_info_as_json.get("Avatar")
    # If you actually want to allow `null`, change to `if "Avatar" in user_info_as_json` check
    if avatar_as_json is None:
        raise ValueError("A value for `Avatar` must be defined in input JSON")
    return avatar_as_json

_user_info_json_schema = [
    ...
    JsonPropertyMapping("Avatar", "avatar",
                        json_property_getter=validate_avatar,
                        encoder_cls=UserAvatarJSONEncoder,
                        decoder_cls=UserAvatarJSONDecoder, optional=True)
]

Ok. Thanks for the help.


Adding flavor text about kubeadm capabilities

Addresses sub task in regards to adding flavor text about kubeadm ssl certificate capabilities of issue #8730
/assign @Bradamant3 @chuckha
Signed-off-by: Ruben Orduz<EMAIL_ADDRESS>

/lgtm
/approve


feat(linter): add no-useless undefined rule

Here is my take on this rules.
I have some weird edge case that i did put on the weird_test_case if you guys wanted to take a look.
close: #3870

Also, there's this PR here already: #4079


Add GitHub actions workflow skeleton

This adds a minimal workflow so that the PR that actually adds the workflow implementation can be "tested" (since workflows don't run unless they exist in master).

I will remove Travis in subsequent PR when the GHA impl is added (easier to understand logically).

Squashed the fixup. Merging and will submit a follow-up PR to migrate CI to GHA.


'STATUS' request causes an error

Hi @slavisasarafijanovic @hseipp ,
I have encountered a issue about 'status' request. When I execute the 'status' request, an error would occur, but the other requests remain ok.
I'll post the reproduced output and logs below, plz have a check if it is okay for you. Thanks in advance.
Basic info:
python: 2.7
swift: 2.5.0(Liberty)
swifthlm: 0.2.2 master branch(before 2017/06/20 submit)
create container

[osddev@localhost testresource]$ curl -v -X PUT -H "X-Auth-Token: AUTH_tk0a1dadf766ad48ebb577325e4a305342"  http://<IP_ADDRESS>:8080/v1/AUTH_test/testcontainer2

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)n/nb

PUT /v1/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk0a1dadf766ad48ebb577325e4a305342

< HTTP/1.1 201 Created
< Content-Length: 0
< Content-Type: text/html; charset=UTF-8
< X-Trans-Id: tx5baef1a05329466695776-00596360f0
< Date: Mon, 10 Jul 2017 11:11:45 GMT
<

Connection #0 to host <IP_ADDRESS> left intact

upload file

[osddev@localhost testresource]$ curl -v -X PUT -H "X-Auth-Token: AUTH_tk0a1dadf766ad48ebb577325e4a305342"  http://<IP_ADDRESS>:8080/v1/AUTH_test/testcontainer2/obj1 -T /home/osddev/testfile.txt

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

PUT /v1/AUTH_test/testcontainer2/obj1 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk0a1dadf766ad48ebb577325e4a305342
Content-Length: 12
Expect: 100-continue

< HTTP/1.1 100 Continue

We are completely uploaded and fine
< HTTP/1.1 201 Created
< Last-Modified: Mon, 10 Jul 2017 11:29:42 GMT
< Content-Length: 0
< Etag: 6f5902ac237024bdd0c176cb93063dc4
< Content-Type: text/html; charset=UTF-8
< X-Trans-Id: tx0fc2be5e036f440dba157-0059636525
< Date: Mon, 10 Jul 2017 11:29:41 GMT
<
Connection #0 to host <IP_ADDRESS> left intact

container and object check

[osddev@localhost system]$ curl -v -X GET -H "X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006"  http://<IP_ADDRESS>:8080/v1/AUTH_test

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...

Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /v1/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006

< HTTP/1.1 200 OK
< Content-Length: 5
< X-Container-Object-Count: 1
< Accept-Ranges: bytes
< X-Storage-Policy: gold
< X-Container-Bytes-Used: 12
< X-Timestamp:<PHONE_NUMBER>.99063
< Content-Type: text/plain; charset=utf-8
< X-Trans-Id: txf7cb8caccd0044b39ddc3-005963686d
< Date: Mon, 10 Jul 2017 11:43:41 GMT
<
obj1

Connection #0 to host <IP_ADDRESS> left intact

run 'requests' and 'status' in order

[osddev@localhost system]$ curl -v -X GET -H "X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006"  http://<IP_ADDRESS>:8080/hlm/v1/requests/AUTH_test/testcontainer2

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /hlm/v1/requests/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006

< HTTP/1.1 200 OK
< Content-Length: 53
< Content-Type: text/plain
< X-Trans-Id: tx1bc1563b3580435a974a2-0059636ac4
< Date: Mon, 10 Jul 2017 11:53:40 GMT
<

Connection #0 to host <IP_ADDRESS> left intact
["There are no pending or failed SwiftHLM requests."][osddev@localhost system]$ curl 9839f552be9006"  http://<IP_ADDRESS>:8080/hlm/v1/status/AUTH_test/testcontainer2
About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /hlm/v1/status/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006

< HTTP/1.1 500 Internal Error
< Content-Length: 17
< Content-Type: text/plain
< X-Trans-Id: tx133184cb7e5b4cc8b5c19-0059636acd
< Date: Mon, 10 Jul 2017 11:53:50 GMT
<

Connection #0 to host <IP_ADDRESS> left intact
An error occurred[osddev@localhost system]$

proxy.error

Jul 10 19:53:40 localhost proxy-server: STDERR: (4074) accepted ('<IP_ADDRESS>', 58452)
Jul 10 19:53:40 localhost proxy-server: STDERR: <IP_ADDRESS> - - [10/Jul/2017 11:53:40] "GET /hlm/v1/requests/AUTH_test/testcontainer2 HTTP/1.1" 200 203 0.094634 (txn: txac2948548f38475db200e-0059636ac4)
Jul 10 19:53:49 localhost proxy-server: STDERR: (4074) accepted ('<IP_ADDRESS>', 58463)
Jul 10 19:53:50 localhost proxy-server: Error: An error occurred: #012Traceback (most recent call last):#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/catch_errors.py", line 41, in handle_request#012    resp = self._app_call(env)#012  File "/home/osddev/swift-2.5.0/swift/common/wsgi.py", line 1033, in _app_call#012    resp = self.app(env, self._start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/gatekeeper.py", line 90, in call#012    return self.app(env, gatekeeper_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/healthcheck.py", line 57, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/proxy_logging.py", line 337, in call#012    iterable = self.app(env, my_start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/memcache.py", line 109, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/swob.py", line 1418, in _wsgify_self#012    return func(self, Request(env))(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/tempurl.py", line 340, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/ratelimit.py", line 301, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/crossdomain.py", line 82, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/swob.py", line 1418, in _wsgify_self#012    return func(self, Request(env))(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/tempauth.py", line 289, in call#012    return self.app(env, start_response)#012  File "build/bdist.linux-x86_64/egg/swifthlm/middleware.py", line 440, in call#012    self.merge_responses_from_storage_nodes(hlm_req)#012  File "build/bdist.linux-x86_64/egg/swifthlm/middleware.py", line 628, in merge_responses_from_storage_nodes#012    resp_in = (json.loads(self.response_in[ip_addr]))['objects']#012  File "/usr/lib64/python2.7/site-packages/simplejson/init.py", line 516, in loads#012    return _default_decoder.decode(s)#012  File "/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 374, in decode#012    obj, end = self.raw_decode(s)#012  File "/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 404, in raw_decode#012    return self.scan_once(s, idx=_w(s, idx).end())#012JSONDecodeError: Expecting value: line 1 column 1 (char 0) (txn: tx40515458898743c6a9587-0059636acd)
Jul 10 19:53:50 localhost proxy-server: STDERR: <IP_ADDRESS> - - [10/Jul/2017 11:53:50] "GET /hlm/v1/status/AUTH_test/testcontainer2 HTTP/1.1" 500 179 0.837648 (txn: tx40515458898743c6a9587-0059636acd)

proxy.log

Jul 10 19:53:40 localhost proxy-server: - - 10/Jul/2017/11/53/40 HEAD /v1/v1 HTTP/1.0 204 - Swift - - - - tx1bc1563b3580435a974a2-0059636ac4 - 0.0086 RL -<PHONE_NUMBER>.094608068<PHONE_NUMBER>.103219986 -
Jul 10 19:53:40 localhost swift: - - 10/Jul/2017/11/53/40 HEAD /v1/AUTH_test/testcontainer2 HTTP/1.0 204 - SwiftHLM%20Middleware - - - - txc590cc1a642d46f1b5547-0059636ac4 - 0.0222 - -<PHONE_NUMBER>.104687929<PHONE_NUMBER>.126879930 0
Jul 10 19:53:40 localhost swift: - - 10/Jul/2017/11/53/40 GET /v1/.swifthlm/pending-hlm-requests%3Fformat%3Djson%26marker%3D%26end_marker%3D HTTP/1.0 200 - SwiftHLM%20Middleware - - 2 - tx5ea42dc97f4c44b688578-0059636ac4 - 0.0048 - -<PHONE_NUMBER>.127410889<PHONE_NUMBER>.132189989 0
Jul 10 19:53:40 localhost swift: - - 10/Jul/2017/11/53/40 GET /v1/.swifthlm/failed-hlm-requests%3Fformat%3Djson%26marker%3D%26end_marker%3D HTTP/1.0 200 - SwiftHLM%20Middleware - - 5933 - txbfa85a74649f4892aa26e-0059636ac4 - 0.0231 - -<PHONE_NUMBER>.132649899<PHONE_NUMBER>.155777931 0
Jul 10 19:53:40 localhost swift: - - 10/Jul/2017/11/53/40 GET /v1/.swifthlm/failed-hlm-requests%3Fformat%3Djson%26marker%3D20170710104143.069--migrate--AUTH_test--testcontainer1--0%26end_marker%3D HTTP/1.0 200 - SwiftHLM%20Middleware - - 2 - txac2948548f38475db200e-0059636ac4 - 0.0313 - -<PHONE_NUMBER>.156425953<PHONE_NUMBER>.187700033 0
Jul 10 19:53:40 localhost proxy-server: <IP_ADDRESS> <IP_ADDRESS> 10/Jul/2017/11/53/40 GET /hlm/v1/requests/AUTH_test/testcontainer2 HTTP/1.0 200 - curl/7.29.0 AUTH_tk35e7dc30a... - 53 - tx1bc1563b3580435a974a2-0059636ac4 - 0.0942 - -<PHONE_NUMBER>.093960047<PHONE_NUMBER>.188185930 -
Jul 10 19:53:49 localhost proxy-server: - - 10/Jul/2017/11/53/49 HEAD /v1/v1 HTTP/1.0 204 - Swift - - - - tx133184cb7e5b4cc8b5c19-0059636acd - 0.0086 RL -<PHONE_NUMBER>.855142117<PHONE_NUMBER>.863786936 -
Jul 10 19:53:49 localhost swift: - - 10/Jul/2017/11/53/49 HEAD /v1/AUTH_test/testcontainer2 HTTP/1.0 204 - SwiftHLM%20Middleware - - - - tx2beb93ed4e4e484b8e2bf-0059636acd - 0.0081 - -<PHONE_NUMBER>.864785910<PHONE_NUMBER>.872857094 0
Jul 10 19:53:49 localhost swift: - - 10/Jul/2017/11/53/49 GET /v1/AUTH_test/testcontainer2%3Fformat%3Djson%26marker%3D%26end_marker%3D HTTP/1.0 200 - SwiftHLM%20Middleware - - 166 - tx468160506238491cb3481-0059636acd - 0.0053 - -<PHONE_NUMBER>.873548985<PHONE_NUMBER>.878866911 0
Jul 10 19:53:49 localhost swift: - - 10/Jul/2017/11/53/49 GET /v1/AUTH_test/testcontainer2%3Fformat%3Djson%26marker%3Dobj1%26end_marker%3D HTTP/1.0 200 - SwiftHLM%20Middleware - - 2 - txb653a24e8b8c402aad8f7-0059636acd - 0.0050 - -<PHONE_NUMBER>.879329920<PHONE_NUMBER>.884301901 0
Jul 10 19:53:49 localhost proxy-server: - - 10/Jul/2017/11/53/49 HEAD /v1/AUTH_test HTTP/1.0 204 - Swift - - - - tx5b201be7c5a343e4bacc6-0059636acd - 0.0034 GET_INFO -<PHONE_NUMBER>.884717941<PHONE_NUMBER>.888124943 -
Jul 10 19:53:49 localhost proxy-server: - - 10/Jul/2017/11/53/49 HEAD /v1/AUTH_test/testcontainer2 HTTP/1.0 204 - Swift - - - - tx40515458898743c6a9587-0059636acd - 0.0046 LE -<PHONE_NUMBER>.888813019<PHONE_NUMBER>.893404961 0
Jul 10 19:53:50 localhost proxy-server: <IP_ADDRESS> <IP_ADDRESS> 10/Jul/2017/11/53/50 GET /hlm/v1/status/AUTH_test/testcontainer2 HTTP/1.0 500 - curl/7.29.0 AUTH_tk35e7dc30a... - - - tx133184cb7e5b4cc8b5c19-0059636acd - 0.7790 - -<PHONE_NUMBER>.854521990<PHONE_NUMBER>.633524895 -

hlm.log (set log_level = INFO )

Jul 10 19:37:17 localhost hlm-dispatcher: 425 [middleware.py:            init():244] info: Initialized SwiftHLM Middleware
Jul 10 19:37:17 localhost hlm-dispatcher: 665 [middleware.py:            init():244] info: Initialized SwiftHLM Middleware
Jul 10 19:38:00 localhost hlm-dispatcher: 474 [middleware.py:            init():244] info: Initialized SwiftHLM Middleware
Jul 10 19:38:00 localhost hlm-dispatcher: 474 [dispatcher.py:            init():101] info: Initialized Dispatcher

run 'migrate' then 'status'

[osddev@localhost system]$ curl -v -X POST -H "X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006"  http://<IP_ADDRESS>:8080/hlm/v1/migrate/AUTH_test/testcontainer2

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

POST /hlm/v1/migrate/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006

< HTTP/1.1 200 OK
< Content-Length: 26
< Content-Type: text/plain
< X-Trans-Id: tx2c6eaee3c61f442d9f73e-0059636bcb
< Date: Mon, 10 Jul 2017 11:58:03 GMT
<
Accepted migrate request.

Connection #0 to host <IP_ADDRESS> left intact
[osddev@localhost system]$ curl -v -X GET -H "X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006"  http://<IP_ADDRESS>:8080/hlm/v1/status/AUTH_test/testcontainer2
About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /hlm/v1/status/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006

< HTTP/1.1 500 Internal Error
< Content-Length: 17
< Content-Type: text/plain
< X-Trans-Id: tx2e82d0f7672c4c998d48b-0059636bd5
< Date: Mon, 10 Jul 2017 11:58:13 GMT
<

Connection #0 to host <IP_ADDRESS> left intact
An error occurred[osddev@localhost system]$

No changes in hlm.log, and the same log in proxy.log. But the proxy.error changes, below is the new pended proxy.error

Jul 10 19:58:03 localhost proxy-server: STDERR: (4074) accepted ('<IP_ADDRESS>', 58488)
Jul 10 19:58:03 localhost proxy-server: STDERR: <IP_ADDRESS> - - [10/Jul/2017 11:58:03] "POST /hlm/v1/migrate/AUTH_test/testcontainer2 HTTP/1.1" 200 176 0.051441 (txn: txe15a41c6cddf48cd9a0ed-0059636bcb)
Jul 10 19:58:13 localhost proxy-server: STDERR: (4074) accepted ('<IP_ADDRESS>', 58500)
Jul 10 19:58:13 localhost proxy-server: Error: An error occurred: #012Traceback (most recent call last):#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/catch_errors.py", line 41, in handle_request#012    resp = self._app_call(env)#012  File "/home/osddev/swift-2.5.0/swift/common/wsgi.py", line 1033, in _app_call#012    resp = self.app(env, self._start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/gatekeeper.py", line 90, in call#012    return self.app(env, gatekeeper_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/healthcheck.py", line 57, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/proxy_logging.py", line 337, in call#012    iterable = self.app(env, my_start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/memcache.py", line 109, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/swob.py", line 1418, in _wsgify_self#012    return func(self, Request(env))(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/tempurl.py", line 340, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/ratelimit.py", line 301, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/crossdomain.py", line 82, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/swob.py", line 1418, in _wsgify_self#012    return func(self, Request(env))(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/tempauth.py", line 289, in call#012    return self.app(env, start_response)#012  File "build/bdist.linux-x86_64/egg/swifthlm/middleware.py", line 440, in call#012    self.merge_responses_from_storage_nodes(hlm_req)#012  File "build/bdist.linux-x86_64/egg/swifthlm/middleware.py", line 628, in merge_responses_from_storage_nodes#012    resp_in = (json.loads(self.response_in[ip_addr]))['objects']#012  File "/usr/lib64/python2.7/site-packages/simplejson/init.py", line 516, in loads#012    return _default_decoder.decode(s)#012  File "/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 374, in decode#012    obj, end = self.raw_decode(s)#012  File "/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 404, in raw_decode#012    return self.scan_once(s, idx=_w(s, idx).end())#012JSONDecodeError: Expecting value: line 1 column 1 (char 0) (txn: txcf931ace737c4956baaed-0059636bd5)
Jul 10 19:58:13 localhost proxy-server: STDERR: <IP_ADDRESS> - - [10/Jul/2017 11:58:13] "GET /hlm/v1/status/AUTH_test/testcontainer2 HTTP/1.1" 500 179 0.692756 (txn: txcf931ace737c4956baaed-0059636bd5)

Run 'requests' and 'status' in order

[osddev@localhost system]$ curl -v -X GET -H "X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006"  http://<IP_ADDRESS>:8080/hlm/v1/requests/AUTH_test/testcontainer2

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /hlm/v1/requests/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006

< HTTP/1.1 200 OK
< Content-Length: 69
< Content-Type: text/plain
< X-Trans-Id: tx5b62ec9fd15940439201b-0059636c6b
< Date: Mon, 10 Jul 2017 12:00:43 GMT
<

Connection #0 to host <IP_ADDRESS> left intact
["20170710115803.822--migrate--AUTH_test--testcontainer2--0--failed"][osddev@localhos9839f552be9006"  http://<IP_ADDRESS>:8080/hlm/v1/status/AUTH_test/testcontainer2
About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /hlm/v1/status/AUTH_test/testcontainer2 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk35e7dc30a01f43ef8d9839f552be9006

< HTTP/1.1 500 Internal Error
< Content-Length: 17
< Content-Type: text/plain
< X-Trans-Id: txa7ca1fa5506c41a3973a3-0059636c70
< Date: Mon, 10 Jul 2017 12:00:49 GMT
<

Connection #0 to host <IP_ADDRESS> left intact
An error occurred[osddev@localhost system]$

and the new log in proxy.error, the hlm.log remains the same.

Jul 10 20:00:43 localhost proxy-server: STDERR: (4074) accepted ('<IP_ADDRESS>', 58539)
Jul 10 20:00:43 localhost proxy-server: STDERR: <IP_ADDRESS> - - [10/Jul/2017 12:00:43] "GET /hlm/v1/requests/AUTH_test/testcontainer2 HTTP/1.1" 200 219 0.065690 (txn: tx66c96638200e4850baf95-0059636c6b)
Jul 10 20:00:48 localhost proxy-server: STDERR: (4074) accepted ('<IP_ADDRESS>', 58549)
Jul 10 20:00:49 localhost proxy-server: Error: An error occurred: #012Traceback (most recent call last):#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/catch_errors.py", line 41, in handle_request#012    resp = self._app_call(env)#012  File "/home/osddev/swift-2.5.0/swift/common/wsgi.py", line 1033, in _app_call#012    resp = self.app(env, self._start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/gatekeeper.py", line 90, in call#012    return self.app(env, gatekeeper_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/healthcheck.py", line 57, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/proxy_logging.py", line 337, in call#012    iterable = self.app(env, my_start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/memcache.py", line 109, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/swob.py", line 1418, in _wsgify_self#012    return func(self, Request(env))(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/tempurl.py", line 340, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/ratelimit.py", line 301, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/crossdomain.py", line 82, in call#012    return self.app(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/swob.py", line 1418, in _wsgify_self#012    return func(self, Request(env))(env, start_response)#012  File "/home/osddev/swift-2.5.0/swift/common/middleware/tempauth.py", line 289, in call#012    return self.app(env, start_response)#012  File "build/bdist.linux-x86_64/egg/swifthlm/middleware.py", line 440, in call#012    self.merge_responses_from_storage_nodes(hlm_req)#012  File "build/bdist.linux-x86_64/egg/swifthlm/middleware.py", line 628, in merge_responses_from_storage_nodes#012    resp_in = (json.loads(self.response_in[ip_addr]))['objects']#012  File "/usr/lib64/python2.7/site-packages/simplejson/init.py", line 516, in loads#012    return _default_decoder.decode(s)#012  File "/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 374, in decode#012    obj, end = self.raw_decode(s)#012  File "/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 404, in raw_decode#012    return self.scan_once(s, idx=_w(s, idx).end())#012JSONDecodeError: Expecting value: line 1 column 1 (char 0) (txn: txfc68275e1bcb46d3b0e22-0059636c70)
Jul 10 20:00:49 localhost proxy-server: STDERR: <IP_ADDRESS> - - [10/Jul/2017 12:00:49] "GET /hlm/v1/status/AUTH_test/testcontainer2 HTTP/1.1" 500 179 0.691834 (txn: txfc68275e1bcb46d3b0e22-0059636c70)

I reproduce the issue on 2 different What logs or information else shall I provide about this issue? Thanks.
Best regards,
Tommy

Hi @slavisasarafijanovic @hseipp
I trace and print out some messages and find something.
This is how I recreate the error:
1. upload a file

[root@localhost testresource]# curl -v -X PUT -H 'X-Auth-Token: AUTH_tk4e8b1e76e0f44050bc8e5ce5ee4fb1f8' http://<IP_ADDRESS>:8080/v1/AUTH_test/con3/obj0 -T /home/osddev/testfile.txt

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

PUT /v1/AUTH_test/con3/obj0 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk4e8b1e76e0f44050bc8e5ce5ee4fb1f8
Content-Length: 12
Expect: 100-continue

< HTTP/1.1 100 Continue

We are completely uploaded and fine
< HTTP/1.1 201 Created
< Last-Modified: Mon, 17 Jul 2017 11:37:11 GMT
< Content-Length: 0
< Etag: 6f5902ac237024bdd0c176cb93063dc4
< Content-Type: text/html; charset=UTF-8
< X-Trans-Id: txd9dc06584bfb455fa75f4-00596ca166
< Date: Mon, 17 Jul 2017 11:37:10 GMT
<
Connection #0 to host <IP_ADDRESS> left intact

testcontainer1 objects
[root@localhost testresource]# curl -v -X GET -H 'X-Auth-Token: AUTH_tk4e8b1e76e0f44050bc8e5ce5ee4fb1f8' http://<IP_ADDRESS>:8080/v1/AUTH_test/con3

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /v1/AUTH_test/con3 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk4e8b1e76e0f44050bc8e5ce5ee4fb1f8

< HTTP/1.1 200 OK
< Content-Length: 5
< X-Container-Object-Count: 1
< Accept-Ranges: bytes
< X-Storage-Policy: gold
< X-Container-Bytes-Used: 12
< X-Timestamp:<PHONE_NUMBER>.89569
< Content-Type: text/plain; charset=utf-8
< X-Trans-Id: tx9292c7186cac45a1a0e21-00596ca190
< Date: Mon, 17 Jul 2017 11:37:52 GMT
<
obj0

Connection #0 to host <IP_ADDRESS> left intact

from database

ROWID   name    created_at  size    content_type    etag    deleted storage_policy_index
"1","obj0","1500291430.66738","12","application/octet-stream","6f5902ac237024bdd0c176cb93063dc4","0","0"

status of new object 'obj0'

[root@localhost testresource]# curl -v -X GET -H 'X-Auth-Token: AUTH_tk4e8b1e76e0f44050bc8e5ce5ee4fb1f8'  http://<IP_ADDRESS>:8080/hlm/v1/status/AUTH_test/con3/obj0

About to connect() to <IP_ADDRESS> port 8080 (#0)
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 8080 (#0)

GET /hlm/v1/status/AUTH_test/con3/obj0 HTTP/1.1
User-Agent: curl/7.29.0
Host: <IP_ADDRESS>:8080
Accept: /
X-Auth-Token: AUTH_tk4e8b1e76e0f44050bc8e5ce5ee4fb1f8

< HTTP/1.1 500 Internal Error
< Content-Length: 17
< Content-Type: text/plain
< X-Trans-Id: tx173bef469efe4deb9d38c-00596ca1f1
< Date: Mon, 17 Jul 2017 11:39:30 GMT
<

Connection #0 to host <IP_ADDRESS> left intact
An error occurred[root@localhost testresource]#

error in hlm.error

Jul 17 19:37:47 localhost hlm-handler: 898 [handler.py:map_objects_to_targets():212] Unavailable device: sdb4, for object: /AUTH_test/con3/obj0,storage policy: StoragePolicy(0, 'gold', is_default=True, is_deprecated=False, policy_type='replication')
Jul 17 19:37:48 localhost hlm-dispatchermiddleware: 506 [middleware.py:submit_request_to_storage_node_and_get_response():579] Errors reported by Handler: Traceback (most recent call last):#012  File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main#012    "main", fname, loader, pkg_name)#012  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code#012    exec code in run_globals#012  File "build/bdist.linux-x86_64/egg/swifthlm/handler.py", line 284, in #012  File "build/bdist.linux-x86_64/egg/swifthlm/handler.py", line 213, in map_objects_to_targets#012AttributeError: 'ObjectController' object has no attribute 'disk_file'#012
Jul 17 19:39:30 localhost hlm-handler: 114 [handler.py:map_objects_to_targets():212] Unavailable device: sdb4, for object: /AUTH_test/con3/obj0,storage policy: StoragePolicy(0, 'gold', is_default=True, is_deprecated=False, policy_type='replication')
Jul 17 19:39:30 localhost hlm-dispatchermiddleware: 236 [middleware.py:submit_request_to_storage_node_and_get_response():579] Errors reported by Handler: Traceback (most recent call last):#012  File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main#012    "main", fname, loader, pkg_name)#012  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code#012    exec code in run_globals#012  File "build/bdist.linux-x86_64/egg/swifthlm/handler.py", line 284, in #012  File "build/bdist.linux-x86_64/egg/swifthlm/handler.py", line 213, in map_objects_to_targets#012AttributeError: 'ObjectController' object has no attribute 'disk_file'#012

hlm.log(I add some comments so the line number would not be as the same as the current project shows)

Jul 17 19:39:30 localhost hlm-handler: 112 [handler.py:     receive_request():150] Receiving request from Dispatcher
Jul 17 19:39:30 localhost hlm-handler: 112 [handler.py:map_objects_to_targets():159] Mapping objects to files
Jul 17 19:39:30 localhost hlm-handler: 112 [handler.py:map_objects_to_targets():161] request_in(first 1024 bytes): {"swift_dir": "/etc/swift", "storage_policy_index": "0", "objects": [{"device": "sdb4", "object": "/AUTH_test/con3/obj0"}, {"device": "sdb3", "object": "/AUTH_test/con3/obj0"}, {"device": "sdb2", "object": "/AUTH_test/con3/obj0"}], "request": "status"}
Jul 17 19:39:30 localhost hlm-handler: 112 [handler.py:map_objects_to_targets():167] request_in_dict objects=[{'device': 'sdb4', 'object': '/AUTH_test/con3/obj0'}, {'device': 'sdb3', 'object': '/AUTH_test/con3/obj0'}, {'device': 'sdb2', 'object': '/AUTH_test/con3/obj0'}]
Jul 17 19:39:30 localhost hlm-handler: 112 [handler.py:map_objects_to_targets():172] obj: {'device': 'sdb4', 'object': '/AUTH_test/con3/obj0'}
Jul 17 19:39:30 localhost hlm-handler: 113 [handler.py:map_objects_to_targets():193] Storage nodes: [{'index': 0, 'replication_port': 6040, 'weight': 1.0, 'zone': 4, 'ip': '<IP_ADDRESS>', 'region': 1, 'id': 2, 'replication_ip': '<IP_ADDRESS>', 'meta': u'', 'device': 'sdb4', 'port': 6040}, {'index': 1, 'replication_port': 6030, 'weight': 1.0, 'zone': 3, 'ip': '<IP_ADDRESS>', 'region': 1, 'id': 3, 'replication_ip': '<IP_ADDRESS>', 'meta': u'', 'device': 'sdb3', 'port': 6030}, {'index': 2, 'replication_port': 6020, 'weight': 1.0, 'zone': 2, 'ip': '<IP_ADDRESS>', 'region': 1, 'id': 1, 'replication_ip': '<IP_ADDRESS>', 'meta': u'', 'device': 'sdb2', 'port': 6020}]
Jul 17 19:39:30 localhost hlm-handler: 113 [handler.py:map_objects_to_targets():194] partition: 531
Jul 17 19:39:30 localhost hlm-handler: 113 [handler.py:map_objects_to_targets():198] hash_path or key: 84e90445794d21d6a5590b617c80f024
Jul 17 19:39:30 localhost hlm-handler: 113 [handler.py:map_objects_to_targets():202] oc.node_timeout: 3.0
Jul 17 19:39:30 localhost hlm-handler: 114 [handler.py:map_objects_to_targets():204] policy: StoragePolicy(0, 'gold', is_default=True, is_deprecated=False, policy_type='replication') index: 0
Jul 17 19:39:30 localhost hlm-handler: 114 [handler.py:map_objects_to_targets():206] sdb4,531,AUTH_test,con3,obj0,StoragePolicy(0, 'gold', is_default=True, is_deprecated=False, policy_type='replication')
Jul 17 19:39:30 localhost hlm-handler: 114 [handler.py:map_objects_to_targets():212] Unavailable device: sdb4, for object: /AUTH_test/con3/obj0,storage policy: StoragePolicy(0, 'gold', is_default=True, is_deprecated=False, policy_type='replication')
Jul 17 19:39:30 localhost hlm-dispatchermiddleware: 236 [middleware.py:submit_request_to_storage_node_and_get_response():579] Errors reported by Handler: Traceback (most recent call last):#012  File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main#012    "main", fname, loader, pkg_name)#012  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code#012    exec code in run_globals#012  File "build/bdist.linux-x86_64/egg/swifthlm/handler.py", line 284, in #012  File "build/bdist.linux-x86_64/egg/swifthlm/handler.py", line 213, in map_objects_to_targets#012AttributeError: 'ObjectController' object has no attribute 'disk_file'#012
Jul 17 19:39:30 localhost hlm-dispatchermiddleware: 254 [middleware.py:submit_request_to_storage_node_and_get_response():595] response=
Jul 17 19:39:30 localhost hlm-dispatchermiddleware: 255 [middleware.py:merge_responses_from_storage_nodes():627] Enter merge_responses_from_storage_nodes, hlm_req=status (txn: txe7ae8b43b3834fe6878d0-00596ca1f1)
Jul 17 19:39:30 localhost hlm-dispatchermiddleware: 255 [middleware.py:merge_responses_from_storage_nodes():631] self.response_in=defaultdict(<type 'list'>, {'<IP_ADDRESS>': ''}) (txn: txe7ae8b43b3834fe6878d0-00596ca1f1)

The related codes are (in handler.py line 203)
try:                 oc.disk_file = oc.get_diskfile(                     device, partition, account, container, obj,                     policy=policy)             except DiskFileDeviceUnavailable: #scor                 self.logger.error("Unavailable device: %s, for object: %s,"                 "storage policy: %s", device, obj_and_dev['object'], policy)
Actually, the device is available, and the object file exists

[root@localhost testresource]# cd /srv/4/node/sdb4/objects/531/024/84e90445794d21d6a5590b617c80f024/
[root@localhost 84e90445794d21d6a5590b617c80f024]# ll
total 8
-rw-------. 1 osddev osddev 12 Jul 17 19:37<PHONE_NUMBER>.66738.data
[root@localhost 84e90445794d21d6a5590b617c80f024]#

Hope this could help with the issue.
Regards,
Tommy

Hi there,
I'd like to know have you created a object-server.conf under /etc/swift? If so, could you paste the content of it? Cause it seems that 'handler'  would like to read it.(It won't read the other object-server config files under /etc/swift/object-server/)
so I modify the code in handler.py(line 78) from
configFile = r'/etc/swift/object-server.conf
to
configFile = r'/etc/swift/object-server
If the handler reads from all config files under /etc/swift/object-server , the code at line  82 would throw

[Errno 21] Is a directory: /etc/swift/object-server

Regards,
Tommy

Hi Tommy,
Thank you for investigating this and providing the additional logs and info.
First, regarding your questions:

Yes, object-server.conf should be under /etc/swift
On my system I currently use a tape backend instead of the dummy backend, but the rest of configuration should be relevant/representative. The content of this file on my system is:

$ cat /etc/swift/object-server.conf
[DEFAULT]
# bind_ip = <IP_ADDRESS>
bind_port = 6000
# bind_timeout = 30
# backlog = 4096
# user = swift
# swift_dir = /etc/swift
# devices = /srv/node
# mount_check = true
# disable_fallocate = false
# expiring_objects_container_divisor = 86400
# expiring_objects_account_name = expiring_objects
#
# Use an integer to override the number of pre-forked processes that will
# accept connections.
# workers = auto
#
# Maximum concurrent requests per worker
# max_clients = 1024
#
# You can specify default log routing here if you want:
# log_name = swift
# log_facility = LOG_LOCAL0
# log_level = INFO
# log_address = /dev/log
# The following caps the length of log lines to the value given; no limit if
# set to 0, the default.
# log_max_line_length = 0
#
# comma separated list of functions to call to setup custom log handlers.
# functions get passed: conf, name, log_to_console, log_route, fmt, logger,
# adapted_logger
# log_custom_handlers =
#
# If set, log_udp_host will override log_address
# log_udp_host =
# log_udp_port = 514
#
# You can enable StatsD logging here:
# log_statsd_host = localhost
# log_statsd_port = 8125
# log_statsd_default_sample_rate = 1.0
# log_statsd_sample_rate_factor = 1.0
# log_statsd_metric_prefix =
#
# eventlet_debug = false
#
# You can set fallocate_reserve to the number of bytes you'd like fallocate to
# reserve, whether there is space for the given file size or not.
# fallocate_reserve = 0
#
# Time to wait while attempting to connect to another backend node.
# conn_timeout = 0.5
# Time to wait while sending each chunk of data to another backend node.
# node_timeout = 3
# Time to wait while receiving each chunk of data from a client or another
# backend node.
# client_timeout = 60
#
# network_chunk_size = 65536
# disk_chunk_size = 65536

[pipeline:main]
pipeline = healthcheck recon object-server

[app:object-server]
use = egg:swift#object
# You can override the default log routing for this app here:
# set log_name = object-server
# set log_facility = LOG_LOCAL0
# set log_level = INFO
# set log_requests = true
# set log_address = /dev/log
#
# max_upload_time = 86400
# slow = 0
#
# Objects smaller than this are not evicted from the buffercache once read
# keep_cache_size = 5242880
#
# If true, objects for authenticated GET requests may be kept in buffer cache
# if small enough
# keep_cache_private = false
#
# on PUTs, sync data every n MB
# mb_per_sync = 512
#
# Comma separated list of headers that can be set in metadata on an object.
# This list is in addition to X-Object-Meta-* headers and cannot include
# Content-Type, etag, Content-Length, or deleted
# allowed_headers = Content-Disposition, Content-Encoding, X-Delete-At, X-Object-Manifest, X-Static-Large-Object
#
# auto_create_account_prefix = .
#
# A value of 0 means "don't use thread pools". A reasonable starting point is
# 4.
# threads_per_disk = 0
#
# Configure parameter for creating specific server
# To handle all verbs, including replication verbs, do not specify
# "replication_server" (this is the default). To only handle replication,
# set to a True value (e.g. "True" or "1"). To handle only non-replication
# verbs, set to "False". Unless you have a separate replication network, you
# should not specify any value for "replication_server".
# replication_server = false
#
# Set to restrict the number of concurrent incoming REPLICATION requests
# Set to 0 for unlimited
# Note that REPLICATION is currently an ssync only item
# replication_concurrency = 4
#
# Restricts incoming REPLICATION requests to one per device,
# replication_currency above allowing. This can help control I/O to each
# device, but you may wish to set this to False to allow multiple REPLICATION
# requests (up to the above replication_concurrency setting) per device.
# replication_one_per_device = True
#
# Number of seconds to wait for an existing replication device lock before
# giving up.
# replication_lock_timeout = 15
#
# These next two settings control when the REPLICATION subrequest handler will
# abort an incoming REPLICATION attempt. An abort will occur if there are at
# least threshold number of failures and the value of failures / successes
# exceeds the ratio. The defaults of 100 and 1.0 means that at least 100
# failures have to occur and there have to be more failures than successes for
# an abort to occur.
# replication_failure_threshold = 100
# replication_failure_ratio = 1.0
#
# Use splice() for zero-copy object GETs. This requires Linux kernel
# version 3.0 or greater. If you set "splice = yes" but the kernel
# does not support it, error messages will appear in the object server
# logs at startup, but your object servers should continue to function.
#
# splice = no

[filter:healthcheck]
use = egg:swift#healthcheck
# An optional filesystem path, which if present, will cause the healthcheck
# URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE"
# disable_path =

[filter:recon]
use = egg:swift#recon
#recon_cache_path = /var/cache/swift
#recon_lock_path = /var/lock

[object-replicator]
# You can override the default log routing for this app here (don't use set!):
# log_name = object-replicator
# log_facility = LOG_LOCAL0
# log_level = INFO
# log_address = /dev/log
#
# vm_test_mode = no
# daemonize = on
# run_pause = 30
# concurrency = 1
# stats_interval = 300
#
# The sync method to use; default is rsync but you can use ssync to try the
# EXPERIMENTAL all-swift-code-no-rsync-callouts method. Once ssync is verified
# as having performance comparable to, or better than, rsync, we plan to
# deprecate rsync so we can move on with more features for replication.
# sync_method = rsync
#
# max duration of a partition rsync
# rsync_timeout = 900
#
# bandwidth limit for rsync in kB/s. 0 means unlimited
# rsync_bwlimit = 0
#
# passed to rsync for io op timeout
# rsync_io_timeout = 30
#
# node_timeout = <whatever's in the DEFAULT section or 10>
# max duration of an http request; this is for REPLICATE finalization calls and
# so should be longer than node_timeout
# http_timeout = 60
#
# attempts to kill all workers if nothing replicates for lockup_timeout seconds
# lockup_timeout = 1800
#
# The replicator also performs reclamation
# reclaim_age = 604800
#
# ring_check_interval = 15
# recon_cache_path = /var/cache/swift
#
# limits how long rsync error log lines are
# 0 means to log the entire line
# rsync_error_log_line_length = 0
#
# handoffs_first and handoff_delete are options for a special case
# such as disk full in the cluster. These two options SHOULD NOT BE
# CHANGED, except for such an extreme situations. (e.g. disks filled up
# or are about to fill up. Anyway, DO NOT let your drives fill up)
# handoffs_first is the flag to replicate handoffs prior to canonical
# partitions. It allows to force syncing and deleting handoffs quickly.
# If set to a True value(e.g. "True" or "1"), partitions
# that are not supposed to be on the node will be replicated first.
# handoffs_first = False
#
# handoff_delete is the number of replicas which are ensured in swift.
# If the number less than the number of replicas is set, object-replicator
# could delete local handoffs even if all replicas are not ensured in the
# cluster. Object-replicator would remove local handoff partition directories
# after syncing partition when the number of successful responses is greater
# than or equal to this number. By default(auto), handoff partitions will be
# removed  when it has successfully replicated to all the canonical nodes.
# handoff_delete = auto

[object-reconstructor]
# You can override the default log routing for this app here (don't use set!):
# Unless otherwise noted, each setting below has the same meaning as described
# in the [object-replicator] section, however these settings apply to the EC
# reconstructor
#
# log_name = object-reconstructor
# log_facility = LOG_LOCAL0
# log_level = INFO
# log_address = /dev/log
#
# daemonize = on
# run_pause = 30
# concurrency = 1
# stats_interval = 300
# node_timeout = 10
# http_timeout = 60
# lockup_timeout = 1800
# reclaim_age = 604800
# ring_check_interval = 15
# recon_cache_path = /var/cache/swift
# handoffs_first = False

[object-updater]
# You can override the default log routing for this app here (don't use set!):
# log_name = object-updater
# log_facility = LOG_LOCAL0
# log_level = INFO
# log_address = /dev/log
#
# interval = 300
# concurrency = 1
# node_timeout = <whatever's in the DEFAULT section or 10>
# slowdown will sleep that amount between objects
# slowdown = 0.01
#
# recon_cache_path = /var/cache/swift

[object-auditor]
# You can override the default log routing for this app here (don't use set!):
# log_name = object-auditor
# log_facility = LOG_LOCAL0
# log_level = INFO
# log_address = /dev/log
#
# You can set the disk chunk size that the auditor uses making it larger if
# you like for more efficient local auditing of larger objects
# disk_chunk_size = 65536
# files_per_second = 20
# concurrency = 1
# bytes_per_second = 10000000
# log_time = 3600
# zero_byte_files_per_second = 50
# recon_cache_path = /var/cache/swift

# Takes a comma separated list of ints. If set, the object auditor will
# increment a counter for every object whose size is <= to the given break
# points and report the result after a full scan.
# object_size_stats =

# Note: Put it at the beginning of the pipleline to profile all middleware. But
# it is safer to put this after healthcheck.
[filter:xprofile]
use = egg:swift#xprofile
# This option enable you to switch profilers which should inherit from python
# standard profiler. Currently the supported value can be 'cProfile',
# 'eventlet.green.profile' etc.
# profile_module = eventlet.green.profile
#
# This prefix will be used to combine process ID and timestamp to name the
# profile data file.  Make sure the executing user has permission to write
# into this path (missing path segments will be created, if necessary).
# If you enable profiling in more than one type of daemon, you must override
# it with an unique value like: /var/log/swift/profile/object.profile
# log_filename_prefix = /tmp/log/swift/profile/default.profile
#
# the profile data will be dumped to local disk based on above naming rule
# in this interval.
# dump_interval = 5.0
#
# Be careful, this option will enable profiler to dump data into the file with
# time stamp which means there will be lots of files piled up in the directory.
# dump_timestamp = false
#
# This is the path of the URL to access the mini web UI.
# path = /__profile__
#
# Clear the data when the wsgi server shutdown.
# flush_at_shutdown = false
#
# unwind the iterator of applications
# unwind = false
#
### High latency media (hlm) configuration on storage node
[hlm]
## You can override the default log level here:
#set log_level = INFO
set log_level = DEBUG
## SwiftHLM Connector (and consequently the Backend) is declared here:
#
# Dummy Connector/Backend - used by default if no other connector is defined
#swifthlm_connector_module = swifthlm.dummy_connector
#
# Generic Backend Interface (GBI) options
#The next option defaul value is False, set it to True only if your backend
#connector is able to (more efficiently) map object data directory paths to
#file paths
#gbi_provide_dirpaths_instead_of_filepaths = False
#
# IBM Connector/Backend
swifthlm_connector_module = swifthlmibmsa.ibmsa_swifthlm_connector
#
# Your own Connector/Backend
# Define EITHER connector_module (if installed as a python module), e.g.:
#swifthlm_connector_module = swifthlmibmsa.ibmsa_swifthlm_connector
# OR connector_dir and connector_filename (if installed that way), e.g.:
#swifthlm_connector_dir = /opt/ibm/swifthlmconnector
#swifthlm_connector_filename = connector.py

# DISCLAIMER: availability or not availability the connectors used in the
# above examples, such as e.g. connector for IBM Spectrum Archive, is not
# stated or implied by the given configuration examples
#
#
# Configure IBM Spectrum Archive/Protect Connector/Backend for SwiftHLM
[ibmsasp]
# IBM Spectrum Archive/Protect Connector configuration
connector_tmp_dir = /srv/node/gpfs/tmp/swifthlm
# IBM Spectrum Archive/Protect Backend configuration
gpfs_filesystem_or_fileset=/srv/node/gpfs
library=lib0
tape_storage_pool=pool0@lib0

Then,  I notice the following:
Default mount point for swift storage devices is under "/srv/node", and in your post I see:
"/srv/4/node/sdb4/objects/531/024/84e90445794d21d6a5590b617c80f024/".
So you might need to change a setting in /etc/swift/object-server.conf :
[DEFAULT]
...
# swift_dir = /etc/swift
# devices = /srv/node

into:
... to reflect that.

Regards,
Slavisa

Currently, I just read from one object-server file, so the issue does not appear so far.


Allow ActiveSupport::HashWithIndifferentAccess of yaml parse

The serialized field are stored with ActiveSupport
In my model, I added this:
  field :description, :serialized

when I read the record, I received this error:
Psych::DisallowedClass: Tried to load unspecified class: ActiveSupport::HashWithIndifferentAccess

I think, the most of the apps use rails and ActiveSupport, so I think should be a good addiction to add the support of ActiveSupport
For the extra informattion, I doesn't use active record gem.
Because of that, the configuration of active_record like this
config.active_record.use_yaml_unsafe_load
OR
config.active_record.yaml_column_permitted_classes = [ActiveSupport::HashWithIndifferentAccess]
doesn't work for me.

I agree that it would be convenient to allow serialising such classes like HashWithIndifferentAccess. So the only missing thing in the PR is specs for the new feature. Could you please add them?
But TBH I like mentioned above config option yaml_column_permitted_classes. And use_yaml_unsafe_load could also be useful or at least convenient for developers that are familiar with ActiveRecord. So I am open to adding them.


Product Category Name missing Type Keyword?

Category Filtering on VSF home page didn't seem to work with the default indexer install using category.name.keyword on default.json file in VSF
Seems like the product category needs to be changed to TYPE_KEYWORD
on magento2-vsbridge-indexer/src/module-vsbridge-indexer-catalog/Index/Mapping/Product.php
From lines 220:
  'category' => [
                'type' => 'nested',
                'properties' => [
                    'category_id' => ['type' => FieldInterface::TYPE_LONG],
                    'position' => ['type' => FieldInterface::TYPE_LONG],
                    'name' => ['type' => FieldInterface::TYPE_TEXT],
                ],
            ],

To
       'category' => [
                // 'type' => 'nested',
                'properties' => [
                    'category_id' => ['type' => FieldInterface::TYPE_LONG],
                    'position' => ['type' => FieldInterface::TYPE_LONG],
                    'name' => [
                        'type' => FieldInterface::TYPE_TEXT,
                        'fields' => [
                            'keyword' => [
                                'type' => FieldInterface::TYPE_KEYWORD,
                                'ignore_above' => 256
                            ]
                        ]
                    ]
                ]
            ],

This worked for me for vsf 1.8-1.9

Seems fixed in version 1.1.0

Hi @tonyisworking ,
Yes I change mapping but you still need to make changes in VSF to make it work.
"category" field has a nested type (so we can use sorting by position) and normal query won't work.
You have to create nested query to ES.
We have two option here:

We might add the option to indexer to create category as nested type or not. (but then you can't use sorting by category position).
Changes to VSF core might be required to switch query, base on the configuration.

@pkarw what do you think ?
Option 1
Can we change the mapping for "category" field to nested type in vsf-api/maget2vsf schemas and create nested filters queries?
Option 2
I can add a new configuration to vsf
category.nested-type: true/false -> and base on this we will make nested query or not.
Probably option 2 will be better so make it compatible with the previous versions.

@afirlejczyk backward compatibility is our priority

whoops, yeah it wasn't working, closed out too early. I was on my own fork...


Addsgnric

Adding SG NRIC/FIN recognizer based on info from https://en.wikipedia.org/wiki/National_Registration_Identity_Card

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: lordlinus sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Hi @lordlinus
Thanks for your contribution!
A few initial comments:

Your PR contains multiple files that aren't related to the proposed change. Could you please remove those? You should only have change in 6 files.
Please try to avoid using very weak regex like '(\b[0-9]{7}\b)' as they have a negative factor on the overall outcome (even if the confidence is very low)
Could you share the source of these regexes?

apologies @omri374 , i will cleanup and resubmit a new pull.


Update UPGRADE file

Q
A

Bug fix?
no

New feature?
no

BC breaks?
no

Related tickets

License
MIT

Thanks Mati! 🚀


tickFormat doesn't render arbitrary svg react elements

According to tickFormat, I should be able to return arbitrary svg from the formatter. However, since all of this gets wrapped in a text element, it won't render unless it's permitted by the text element.
For instance, a circle won't render, but a tspan will.
My data visualization requires image ticks (see below), but that is not possible under the current API.
I'd like to propose a simple change: If the tickFormat function returns a non-text compliant React element, don't wrap it in a text element.
Thoughts?

The issue is here

const ticks = values.map((v, i) => {
  const pos = scale(v);
  const text = tickFormatFn(v, i);

  return (
    <g key={i} {...translateFn(pos, 0)}
    className="rv-xy-plot__axis__tick"
    style={style}>
      <line {...pathProps}
        className="rv-xy-plot__axis__tick__line"
        style={{...style, ...style.line}}
      />
      <text {...textProps}
        className="rv-xy-plot__axis__tick__text"
        style={{...style, ...style.text}}
      >
        {text}
      </text>
    </g>
  );
});


⚠ ClamAV has degraded performance

In df3e436, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 191 ms

Resolved: ClamAV performance has improved in 1ff39ec.


Missing option to retrieve id tokens

This documentation describes how to retrieve an id token via the hybrid flow (from the authorization endpoint) only (response_type = code id_token). However, it should be called out here that there is also away to retrieve an id token via a normale auth code grant flow by requesting it via scopes and then finally retrieve it from the token endpoint. This can be achieved by:

response_type = code
scope = openid ...

Can this be called out in the documentation to make it consistent with the table in this documentation:

You can also reach out internally, MSFT alias: paweber

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

ID: 13b44819-ed7b-84bc-f5d2-2b937029f7df
Version Independent ID: db9f8408-c234-90d0-4817-3516e5fc3ba0
Content: Microsoft identity platform and OAuth 2.0 authorization code flow - Microsoft Entra
Content Source: articles/active-directory/develop/v2-oauth2-auth-code-flow.md
Service: active-directory
Sub-service: develop
GitHub Login: @OwenRichards1
Microsoft Alias: owenrichards

@paweber8
Thanks for your feedback! We will investigate and update as appropriate.

@OwenRichards1
Can you please check and add your comments on this doc update request as applicable.

@paweber8
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly

@paweber8 Thanks for your feedback - this repo is currently undergoing a migration. I am required to close this issue, although it has been assigned in product backlog and will be addressed when migration is complete.

#please-close


Update CONTRIBUTING.md

Signed-off-by: Ry Jones<EMAIL_ADDRESS>

auto-merge.  Oh well :-).  @dbluhm -- at least you know about this.


Fixed REPL and cabal config

Changed cabal config to use ./Main.hs as a shim for src/hs/Kriek.hs.
I also found that the types used in Kriek.Repl weren't deparameterised, so I updated those.

I accidentally added the changes the for PR #3, so I'm gonna close that one.

I already made these changes when merging your last PR, sorry.


[#942] enhance metadata editing

Added descriptive text on some metadata elements.

Can one of the admins verify this patch?

@mauriel133 You can merge this.

@mauriel133 You need to update this with latest develop which is based on Django 1.8.9 before merging.

@mauriel133 You should merge this.


On integration test runs, context.RequestServices can be null.

https://github.com/tpeczek/Lib.AspNetCore.ServerTiming/blob/85794b22699d56730de0dad180b41760e23ebae9/Lib.AspNetCore.ServerTiming/ServerTimingMiddleware.cs#L74
On integration test runs, context.RequestServices can be null. Suggesting null check
private void HandleServerTiming(HttpContext context)
{
    context.Response.OnStarting(() => {
		if (context.RequestServices != null)
		{
			IServerTiming serverTiming = context.RequestServices.GetRequiredService<IServerTiming>();

			if (serverTiming.Metrics.Count > 0)
			{
				context.Response.SetServerTiming(new ServerTimingHeaderValue(serverTiming.Metrics));
			}
		}
        return _completedTask;
    });
}

Hi @ChaosEngine,
I must say I have mixed feelings about this. Adding this null check would result in middleware having different behavior in integration test and in production, which is rather unexpected.
Quick search through ASP.NET Core source code also shows that generally there are no null checks around accessing this property and all relevant tests make sure it's properly arranged.
This makes me think it might not be the way to go.

Well I must agree with those arguments.
How about using the official DI solution for middlewares and use DI to inject IServerTiming serverTiming
#region Methods
/// <summary>
/// Process an individual request.
/// </summary>
/// <param name="context">The context.</param>
/// <param name="serverTiming">service injected interface</param>
/// <returns>The task object representing the asynchronous operation.</returns>
public Task Invoke(HttpContext context, IServerTiming serverTiming)
{
    if (_timingAllowOriginHeaderValue != null)
    {
        context.Response.SetResponseHeader(HeaderNames.TimingAllowOrigin, _timingAllowOriginHeaderValue);
    }

    HandleServerTiming(context, serverTiming);

    return _next(context);
}

private void HandleServerTiming(HttpContext context, IServerTiming serverTiming)
{
    context.Response.OnStarting(() => {
		if (serverTiming.Metrics.Count > 0)
		{
			context.Response.SetServerTiming(new ServerTimingHeaderValue(serverTiming.Metrics));
		}
        return _completedTask;
    });
}
#endregion

Yes I was considering that yesterday. The only thing I don't like about it is that it will be a breaking change, but I guess I should bite the bullet.

I could write a sample project exposing faulty behavior with integration tests.

I'm happy with pull requests :). I don't have a contributing guidelines around (never enough time for the organizational stuff), but you can take a look here to see what naming conventions I tend to keep in my repositories (my apologies for the inconvenient form).