[CELEBORN-414][FLINK] Simplify ShuffleTaskInfo.getAttemptId

What changes were proposed in this pull request?
Simplify ShuffleTaskInfo.getAttemptId
Why are the changes needed?
Simplify ShuffleTaskInfo.getAttemptId
Does this PR introduce any user-facing change?
NO
How was this patch tested?
UT

ping @RexXiong

Currently, a map task attempt would has multiple shuffle related partition results. If we don't make map task attemptId index consistent, we may generate multiple attemptId index for same map task attempt(mapId, attemptId)= (mapId, array[]), and we also have map task attempt, then we probably limit the attempts=255/(shuffle data partitions of the map) which is not our semantics for attempts. So I think we would better keep the index now. @waitinfuture

Currently, a map task attempt would has multiple shuffle related partition results. If we don't make map task attemptId index consistent, we may generate multiple attemptId index for same map task attempt(mapId, attemptId)= (mapId, array[]), and we also have other map task attempt of this map, then we probably limit the attempts=255/(shuffle data partitions of the map) which is not our semantics for attempts. So I think we would better keep the index now. @waitinfuture

OK, thanks for the explaining, I'm closing this PR.


fbcv-full cannot be reduced

The full profile of FBCV involves a step where redundant axioms are stripped out. Unfortunately, much more than just redundant axioms are stripped, and I assume this is due to equivalent class cycles we need to investigate. the current workaround is the NOT do any redundancy stripping: fbcv.Makefile
# For some reason, using reduce just does not work on FBCV this is a workaround, but it needs some figuring out..

$(ONT)-full.owl: $(SRC) $(OTHER_SRC)
	$(ROBOT) merge --input $(SRC) \
		reason --reasoner ELK --equivalent-classes-allowed asserted-only \
		relax \
		annotate --ontology-iri $(ONTBASE)/$@ --version-iri $(ONTBASE)/releases/$(TODAY)/$@ --annotation oboInOwl:date "$(OBODATE)" --output tmp/full.owl

Whatever the cause of the problem was, FBcv is no longer affected by it: I’ve removed the custom rule above as part of the switch to base merging (#198), and the resulting fbcv-full didn’t lose anything more than the redundant axioms that were supposed to be removed.


Stuck waiting for mutex

Version:  v2
Go Version: 1.20
Seems to happen randomly when calling player.Play() frequently. The program will freeze in func (c *Context) addPlayer(p *playerImpl) on c.m.Lock(). It would be nice if player.Play() could time out instead of waiting forever on the mutex.

What about v3?

Still an issue in ebitengine 2.6, oto v3. I noticed that the sound file is 300ms long and incidentally sometimes played every 300ms. If I edit the sound file to be shorter length, then the issue is not reproducible (but I am not sure if that fixes it or just reduces the frequency)

I am playing the sound from a goroutine. gcPlayers() is also in the callstack during the freeze. Maybe it's resulting in the deadlock.

Can't reproduce when creating a new player each time the effect is played instead of reusing the same one.

Which OS are you using?
Is there a minimized test case to reproduce the issue?
Thanks,

Reported on multiple Windows machine, reproduced on linux.
Tried to create a minimized test case but can't reproduce that way.

The program will freeze in func (c *Context) addPlayer(p *playerImpl) on c.m.Lock().

I'll move this issue to Ebitengine.

So, where the stucking happens is in Ebitengine (audio), not Oto's internal/mux, right?
I'm looking at Ebitengine code but failed where the stucking could happen... audio.Play just inserts a player to its map, so such a stucking should never happen.

Have these 3 goroutines when pausing the debugger during the freeze:
runtime.gopark (/usr/local/go/src/runtime/proc.go:382)
runtime.goparkunlock (/usr/local/go/src/runtime/proc.go:387)
runtime.semacquire1 (/usr/local/go/src/runtime/sema.go:160)
sync.runtime_SemacquireMutex (/usr/local/go/src/runtime/sema.go:77)
sync.(*Mutex).lockSlow (/usr/local/go/src/sync/mutex.go:171)
sync.(*Mutex).Lock (/usr/local/go/src/sync/mutex.go:90)
github.com/hajimehoshi/ebiten/v2/audio.(*Context).addPlayer (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/audio/audio.go:179)
github.com/hajimehoshi/ebiten/v2/audio.(*playerImpl).Play (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/audio/player.go:181)
github.com/hajimehoshi/ebiten/v2/audio.(*Player).Play (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/audio/audio.go:355)

runtime.gopark (/usr/local/go/src/runtime/proc.go:382)
runtime.goparkunlock (/usr/local/go/src/runtime/proc.go:387)
runtime.semacquire1 (/usr/local/go/src/runtime/sema.go:160)
sync.runtime_SemacquireMutex (/usr/local/go/src/runtime/sema.go:77)
sync.(*Mutex).lockSlow (/usr/local/go/src/sync/mutex.go:171)
sync.(*Mutex).Lock (/usr/local/go/src/sync/mutex.go:90)
github.com/hajimehoshi/ebiten/v2/audio.(*playerImpl).Err (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/audio/player.go:278)
github.com/hajimehoshi/ebiten/v2/audio.(*Context).gcPlayers (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/audio/audio.go:209)
github.com/hajimehoshi/ebiten/v2/audio.NewContext.func3 (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/audio/audio.go:139)
github.com/hajimehoshi/ebiten/v2/internal/hooks.RunBeforeUpdateHooks (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/internal/hooks/hooks.go:38)
github.com/hajimehoshi/ebiten/v2/internal/ui.(*context).updateFrameImpl (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/internal/ui/context.go:135)
github.com/hajimehoshi/ebiten/v2/internal/ui.(*context).updateFrame (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/internal/ui/context.go:73)
github.com/hajimehoshi/ebiten/v2/internal/ui.(*userInterfaceImpl).updateGame (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/internal/ui/ui_glfw.go:1084)
github.com/hajimehoshi/ebiten/v2/internal/ui.(*userInterfaceImpl).loopGame (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/internal/ui/ui_glfw.go:1044)
github.com/hajimehoshi/ebiten/v2/internal/ui.(*userInterfaceImpl).Run.func2 (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/ebiten/v2@v2.5.4/internal/ui/run_glfw_notsinglethread.go:57)
golang.org/x/sync/errgroup.(*Group).Go.func1 (/home/vesperay/go/pkg/mod/golang.org/x/sync@v0.2.0/errgroup/errgroup.go:75)
runtime.goexit (/usr/local/go/src/runtime/asm_amd64.s:1598)

runtime.gopark (/usr/local/go/src/runtime/proc.go:382)
runtime.goparkunlock (/usr/local/go/src/runtime/proc.go:387)
sync.runtime_notifyListWait (/usr/local/go/src/runtime/sema.go:527)
sync.(*Cond).Wait (/usr/local/go/src/sync/cond.go:70)
github.com/hajimehoshi/oto/v2/internal/mux.(*Mux).wait (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/oto/v2@v2.4.0/internal/mux/mux.go:86)
github.com/hajimehoshi/oto/v2/internal/mux.(*Mux).loop (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/oto/v2@v2.4.0/internal/mux/mux.go:93)
github.com/hajimehoshi/oto/v2/internal/mux.New.func1 (/home/vesperay/go/pkg/mod/github.com/hajimehoshi/oto/v2@v2.4.0/internal/mux/mux.go:68)
runtime.goexit (/usr/local/go/src/runtime/asm_amd64.s:1598)

All the above mutexes are different, so this is mysterious...

Aha, I understood.

(*audio.playerImpl).Play -> (*audio.Context).addPlayer
(*audio.Context).gcPlayers -> (*audio.playerImpl).Err

In theory, if these happens for the same playerImpl objects, this can cause a deadlock.

As this is an Ebitengine issue, let's move to https://github.com/hajimehoshi/ebiten/issues/2737


How to use individual lines

Hello.
Thank you for this program.
I am very new to coding and working in python.
I would like to skeletonize characters -- akin to some of your own examples:

I would like to use individual lines -- the purple one, the blue one, etc. -- to test for certain characteristics. For example, does the image have a vertical line? (Yes.) Does the image have a circle? (No.)
I am not sure how to "grab" or call each colored line. How I would do this?
Ultimately, I am trying to use this as part of template matching to locate these characters on pages. Template matching alone -- at least my efforts thus far at it -- gives too many false positives and too many misses of the template.

Hi @SB2020-eye,
Thanks for checking out the library!
Assuming you're using the pure python implementation in the/py folder, to grab the individual lines, you can do the following:
from traceSkeleton import *
import cv2
import random

im0 = cv2.imread("../test_images/opencv-thinning-src-img.png")
im = (im0[:,:,0]>128).astype(np.uint8)

im = thinning(im)

rects = []
polys = traceSkeleton(im,0,0,im.shape[1],im.shape[0],10,999,rects)

At this point, polys will hold each individual line. It looks something like this if you print it:
[
  [[1,2], [3,4], [5,6], [7,8],...], # first line
  [[8,7], [6,5], [4,3],...], # second line
  # maybe more lines...
]

Your second question, which is to classify each line as vertical/circle is a bit more complicated. It's basically stroke recognition, which is out of scope for this library. However if you only need to detect simple types (like vertical lines) you can do something like this:
def is_vertical_line(poly):
  xmin,xmax,ymin,ymax = 99999,-99999,99999,-99999

  for (x,y) in poly:
    xmin = min(xmin,x)
    xmax = max(xmax,x)
    ymin = min(ymin,y)
    ymax = max(ymax,y)

  w,h = (xmax-xmin,ymax-ymin)

  return (h/w > 10)

#try it:
print(is_vertical_line(polys[0])

What the code above basically does is that it calculates the bounding box of a polyline. If the bounding box is really tall and skinny, it is quite likely that what's enclosed is a vertical line.
Now for detecting circles, it's a bit more work. One simple way is to find the centroid of the polyline (e.g. by averaging all the vertices in it) then checking if all the vertices are approximately the same distance from that centroid.
However, if you would like more robust classification and not having to rebuild wheels, I recommend checking out $1 stroke recognizer, which is exactly suited for the goal. Or you can try some shiny new neural net based algorithms too.
It also sounds like what you're ultimately trying to accomplish is OCR. If that's the case maybe you can also try some OCR libraries that will do the heavy lifting for you :)
Hope this helps!


Update for latest purescript

Thanks for the PR.  I'm not very involved in PS much these days.  If you are interested in taking over this repo, let me know.

The reason for this PR is that I wanted to use the purescript-dygraphs, and ended up updating both it and this one. I'll submit the updates for dygraphs too, but I am unsure if I'll be actively using/maintaining either of them. I think the official PS position on unmaintained but useful libs was to transfer them to purescript-contrib...

Speaking of updating purescript-dygraphs: could you please tag the latest commit as 0.1.1 or something similar, so that I can fetch the updated dependency with Bower?

Should be done now.

Hm, can't see it in https://github.com/fluffynukeit/purescript-foreign-options/releases, did you push?

Oh, I'm sorry for being unclear! I meant that I need a tagged latest commit of this repo, purescript-foreign-options. This way, in bower dependencies for purescript-dygraphs I could refer to "purescript-foreign-options":"latest" and not have to hardcode a specific commit code. Sorry again for this trouble.

Ok the v0.1.1 number makes more sense to me now.  Should be tagged.  I tagged it directly in the github interface so it should already be pushed.


Absolute Expiration is not respected exactly

I can't get NCache to respect a 10 second absolute expiration.  It always expires after about 15 seconds.
I have created a sample repository to demonstrate this:
https://github.com/gregpakes/NCache-Expiration-Test
The code is simple.  In the ValuesController (https://github.com/gregpakes/NCache-Expiration-Test/blob/master/NCache-Expires/Controllers/ValuesController.cs), I am caching the current DateTime for 10 seconds.  If you continually refresh the page, you will see that the value gets refreshed every 15 seconds or so.  I would expect this to be 10 seconds.
I have tried the same demo using MemoryCache.Default and it works as expected.  The cache entry is refreshed every 10 seconds.
What is the issue here?

Hi Greg,
You are correct in that expired items may not be evicted at exactly the time when expiration period is elapsed and this is by design.
NCache has a background thread that periodically checks in the cache for items that have lapsed expirations (absolute or sliding) and then removes all such items in bulk. This period between checks is called the clean-up interval which is configurable and has a default value of 15 seconds. That is why you are seeing changes at the 15 sec mark.
Suppose the last time the thread removes items in bulk was at time T1 and the clean-up interval value is t. During the time between T1 and T1 +t, any items expired after time T1 will be evicted at T1 + t.
This bulk removal pattern is much more efficient than having the thread continuously looping through the items and removing expired items within moments of expiry as this is a much more CPU-hungry operation. With possibly millions of expirations going on at a time, you can see how continuous expiration checks can seriously hamper cache response time.
Furthermore, since the thread is running in the background, NCache can keep responding to client read and write requests with high availability.
The default value of 15  sec for the clean-up interval has been tested to be appropriate for most applications. However, If you would like to change the clean-up interval value for a cache to be different than the default, you can easily do so in the config.ncconf file and changing the value of the interval attribute of the cleanup tag nested within the cache-settings tag.
As an example, shown in the attachment is the screen grab from a config.ncconf file showing a clean-up interval value of 15 sec configured for the mypartitionedcache. More information about NCache expiration policies and gotchas can be found at the following link:
http://www.alachisoft.com/resources/docs/ncache-oss/admin-guide/data-expiration.html

Hi Brad,
Thanks for the clarification.  That is interesting.  So NCache does not work for any cache duration that is less than the clean-up interval, which defaults to 15 seconds.
We have a number of places where we cache for less time than that, so this may be an issue for us.  However, I suspect we do this due to a lack of decent invalidation, so that might be a smell in itself that we should look to eradicate.
Thanks for the information.
Greg

Hi Greg,
Thanks for your confirmation. I just want to point out that since the Clean Interval value is configurable on a cache level, you can use a smaller value which may work for you. The minimum value you can use is 5 seconds.
As for cache invalidation strategies, NCache does provide a number of strategies that may be of interest to you. I am giving the links to the relevant topics below:
http://www.alachisoft.com/resources/docs/ncache/prog-guide/cache-dependencies.html
http://www.alachisoft.com/resources/docs/ncache/prog-guide/notification-based-dependencies.html
http://www.alachisoft.com/resources/docs/ncache/prog-guide/sync-cache-with-external-source.html
If you find something in there that may be of interest to you, please do let me know and I will try to assist you in the matter.


Wyze Api not working

Describe The Bug:
When i tried to lock the door in homekit, homekit said it is locked but it is not and i got these errors
API response GetLockInfo: {"ReqID":"dfba0e901a","ErrNo":"17001","ErrMsg":"PARAM_TIMESTAMP_INVALID"}
API response GetLockInfo: {"ReqID":"dfba0e901a","ErrNo":"17001","ErrMsg":"PARAM_TIMESTAMP_INVALID"}
To Reproduce:
Not Sure how to reproduce. Looks like a timestamp format thing
Expected behavior:
Logs:
[9/27/2023, 4:22:47 PM] [Wyze] API response GetLockInfo: {"ReqID":"f9ba87b56f","ErrNo":"17001","ErrMsg":"PARAM_TIMESTAMP_INVALID"}
[9/27/2023, 4:22:47 PM] [Wyze] API response GetLockInfo: {"ReqID":"dfba87f3fa","ErrNo":"17001","ErrMsg":"PARAM_TIMESTAMP_INVALID"
Plugin Config:
Show your Homebridge config.json here, remove any sensitive information.
{
    "name": "Wyze",
    "username": "",
    "password": "!",
    "keyId": "",
    "apiKey": "",
    "mfaCode": "051505",
    "refreshInterval": 60000,
    "entryExitDelay": 5,
    "showAdvancedOptions": true,
    "logging": "debug",
    "excludeMacAddress": true,
    "filterByMacAddressList": [
        "YD.GW1.036a78a8a7ee3039cfbbcc49af40ec26",
        "YD.GW1.66f5d4797333376e90b0d294cc1f0a01"
    ],
    "excludedeviceType": true,
    "filterDeviceTypeList": [
        "S1Gateway"
    ],
    "_bridge": {
        "username": "0E:86:90:4D:46:E3",
        "port": 33934
    },
    "platform": "WyzeSmartHome"
}

Screenshots:

Environment:

Plugin Version: 0.5.37
Homebridge Version:  4.50.5
Node.js Version:  20.7
NPM Version:
Operating System:  Docker in Qnap

Is your date/time correct on the machine?

@jfarmer08 seems correct on my qnap system and docker container

@jfarmer08 any other though?

Are you using this plugin or a custom one. I ask because I don't have a version 37

Are you using this plugin or a custom one. I ask because I don't have a version 37

@jfarmer08 It is my custom version to fix something. You are rigth it is my system time not up to date. Thank you so much!!!!


Unable to bind to the underlying transport for [PORT]. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine.

We're using ASP.NET Core 2.1 Preview2 Final with IIS on Windows Server 2016. Once or twice a week, there comes a time when all request get 502 - Web server received an invalid response while acting as a gateway or proxy server. There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server. and nothing responds until we manually kill w3wp process.
The event logs are flooded with HttpEvent: Unable to bind to the underlying transport for [::]:53362. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine.  The data field contains the error number.
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-HttpEvent" Guid="{7b6bc78c-898b-4170-bbf8-1a469ea43fc5}" EventSourceName="HTTP" />
  <EventID Qualifiers="49152">15005</EventID>
  <Version>0</Version>
  <Level>2</Level>
  <Task>0</Task>
  <Opcode>0</Opcode>
  <Keywords>0x80000000000000</Keywords>
  <TimeCreated SystemTime="2018-04-16T06:52:26.351608200Z" />
  <EventRecordID>79646</EventRecordID>
  <Correlation />
  <Execution ProcessID="4" ThreadID="5996" />
  <Channel>System</Channel>
  <Computer>WIN-VATCEK1C51C</Computer>
  <Security />
  </System>
- <EventData>
  <Data Name="DeviceObject" />
  <Data Name="Address">[::]:53362</Data>
  <Binary>0000040002003000000000009D3A00C0000000000000000000000000000000000000000000000000430000C0</Binary>
  </EventData>
  </Event>

I also took a dump of the worker process if it helps.

We're severely impacted by this issue. Any workarounds?

do you have an IIS site bind to port 53362?  The port range 49152–65535 (215 + 214 to 216 − 1) is used for private or customized services, for temporary purposes, and for automatic allocation of ephemeral ports. Have  you tried other port?

@pan-wang We do not have any site bound to that port and I checked netstat, no other program was listening to that port either. How can I try another port? I thought it automatically chooses an arbitrary port on startup since when I kill the worker process and it starts again, everything's fine.

ANCM only picks up the port number between 1024 and 48000. In the case of failure, could you please check whether the backend Kestrel was started and the application events with source "IIS AspnetCore Module" in windows event log?

Hi. We're closing this issue as no response or updates have been provided   in a timely manner and we have been unable to reproduce it. If you have more   details and are encountering this issue please add a new reply and re-open   the issue.

for me. the solution was here for above issue. https://programmingflow.com/2015/08/28/solved-iis-express-failed-to-register-url-access-is-denied.html

We're also seeing
System.Net.Sockets.SocketException: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.InternalBind(EndPoint localEP)
   at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
   at System.Net.Sockets.Socket.UnsafeBeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state, Boolean flowContext)
   at System.Net.Sockets.Socket.PostOneBeginConnect(MultipleAddressConnectAsyncResult context)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Sockets.Socket.DoMultipleAddressConnectCallback(Object result, MultipleAddressConnectAsyncResult context)
   at System.Net.Sockets.Socket.DoDnsCallback(IAsyncResult result, MultipleAddressConnectAsyncResult context)
   at System.Net.Sockets.Socket.DnsCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   at System.Net.Sockets.TcpClient.EndConnect(IAsyncResult asyncResult)

We're using web sockets. Might that be related? Maybe they're not successfully disconnected and the port status is waiting ...

@shirhatti @pan-wang We're still having this issue. Please reopen. The only log we have is:
Unable to bind to the underlying transport for [::]:63883. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine.  The data field contains the error number.
The port number (63883) is different in each log obviously.

@halter73 Does the Sockets stack trace above ring a bell?

@shirhatti I haven't seen either of these errors before.
@sepehr1014 I see the SocketException is coming from TcpClient. Is this error coming from a client?

@halter73 No, but we use a HttpClient to send requests to google FCM and some other services ...

@sepehr1014 This doesn't sound like a server issue. Given that you're using HttpClient, I suspect you're disposing it too frequently. This sounds like an ephemeral port exhaustion issue.

Quite the contrary. We're using only one static HttpClient so it's actually
never disposed. I suspect it has something to do with the disposal of
WebSockets since we heavily use them for our messaging features. BTW there
are no other web apps on this server.
On Tue, Jun 5, 2018, 9:27 PM Sourabh Shirhatti<EMAIL_ADDRESS>wrote:

@sepehr1014 https://github.com/sepehr1014 This doesn't sound like a
server issue. Given that you're using HttpClient, I suspect you're
disposing it too frequently. This sounds like an ephemeral port exhaustion
issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/IISIntegration/issues/778#issuecomment-394783999,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK0nhyyGljyg_VWhYHcLlUMW8g2diuhjks5t5rhlgaJpZM4TV_pi
.

@pan-wang is talking to @sepehr1014 over email on this issue, so assigning this as an investigate item to him.

@sepehr1014  I think this has same root cause as #854 . My understadning is that the workaround worked. V2.2 should contain a solid fix for this connection issue. Close it. Feel free to reopen it if you hit it with new ANCM bits


Update development chain setup

Right now we use wasmd for all launchpad testing. When we upgrade it, we loose basic launchpad testing. Let's upgrade the local chain setup to something like this:

[x] Rename chain wasmd to launchpad, including all testing code referring to it (ports 1317/26657)
[x] Keep simapp but change ports (ports 1318/26658, i.e. default+1)
[ ] Add new chain stargate based wasmd (ports 1319/26659, i.e. default+2)
[ ] Update ports table in HACKING.md

Blocked by https://github.com/CosmWasm/wasmd/pull/307

wasmd v0.12.0 is now available on DockerHub


Area to ignore the adjustment

In my Gulpfile the update date is written in the first line of the CSS file. Can I specify that Changed should ignore a part, e.g. the last line with the source map line?
My Gulpfile v4: https://gist.github.com/jolution/9b2abbd53a326b8f1b2a13403f12e16f

I think you have opened this on the wrong repo.

@sindresorhus I talk about gulp-changed.


Project status?

This is exactly what I was looking for, thank you! :+1:
What is the status of this tool? Are there any problems or limitations when converting styles?

This library may not quite fit to your needs, as I hard coded some variables for the foxgis-server, such as the path of icons, fonts. I suggest you fork this repo and modify for your needs.

@jingsam Could you point to the hardcoded parts?
So that we can change them.
THanks


Issue 487: Property Type Updates

Addresses #487
Originally added the xsd:string types to the following properties:

uco-observable:destinationFlags
uco-observable:byteStringValue

A follow-on patch revised the added types to be xsd:hexBinary for destinationFlags (to match sourceFlags), and xsd:base64Binary for byteStringValue (to distinguish from stringValue).
Coordination

[x] Pull Request is against correct branch
[x] Pull Request is in, or reverted to, Draft status before Solutions Approval vote has passed.
[ ] CI passes in UCO feature branch
[ ] CI passes in UCO current unstable branch (merge-commit)
[ ] CI passes in CASE current unstable branch tracking UCO's unstable as submodule (merge-commit)
[ ] Impact on SHACL validation reviewed for CASE-Examples
[ ] Impact on SHACL validation remediated for CASE-Examples
[ ] Impact on SHACL validation reviewed for casework.github.io
[ ] Impact on SHACL validation remediated for casework.github.io
[x] Milestone linked
[ ] Solutions Approval vote logged on corresponding Issue (once logged, can be taken out of Draft PR status)

@kchason , FYI - I added a patch to this PR to add missed SHACL datatype constraints, and to use types different from xsd:string.  I looked at nearby properties and saw there were more appropriate options than xsd:string.  I believe this is still worth a fast-track vote.


Fix #3107. rustdoc without --target if compiled for host

#3107

Oh! Should have looked more through the queue before commenting! Thanks for the PR!
Could you also add a test for this as well?

I've continued this in https://github.com/rust-lang/cargo/pull/3247 with a test


Filter elements by parts of font names

I would like it to be possible to filter elements by parts of font names. E.g. .filter_by_font_contains("Arial,Bold,12.0")
I have a few hundred PDFs that have a very similar structure but for some reason the fonts have different prefixes even when used for the same elements across PDFs.
E.g.:

CIBPIK+Arial,Bold,12.0
JHCMFI+Arial,Bold,12.0
JHIENK+Arial,Bold,12.0

Each one is the font for table headers in a PDF.
A function like .filter_by_font_contains("Arial,Bold,12.0") would enable me to just filter by that part of the font name (which is consistent for me across PDFs). Even better would be a function that takes an options object (no idea if this is done in Python) e.g.:
{
  fontName: "Arial",
  bold: true,
  size: 12.0
}

so the input isn't limited to a continuous string. Would be helpful if you were trying to filter for all elements that have Arial, 12.0 without either excluding the ones that are bold, or doing two queries and merging them later.
Since I'm very new to Python I can certainly try to help but I can't promise anything.

Hey @Aceto1, I think that's a nice idea! Particularly being able to filter for more structured font info (e.g. just the size, or just the name). I don't think I have e.g. "Bold" as an attribute, though - it just comes as a string. But I could split the "Arial,Bold" from the size, certainly.
I think in your case there is an out-of-the-box solution, though. You can pass a font_mapping, to map the real font names (e.g. CIBPIK+Arial,Bold,12.0) to your own font names (e.g. arial_bold_12, or even better something more meaningful like page_header or bold_text). You are able to pass the font mapping as regular expressions if you pass font_mapping_is_regex=True. (See the font mapping overview, the Order Summary example, and the PDFDocument reference in the docs).
The regular expression font mapping is not well documented, this could be improved. In particular, the order summary example has a similar issue (but the weird prefixes don't change for each font name), so we could easily point this out there.
In your case, then, perhaps something similar to the following would help solve your issue:
_FONT_MAPPING = {
    r"\w{6}\+Arial,Bold,12.0": "bold_text",  # (or other sensible names)
   # Add more fonts here as needed.
}
document = load_file(..., font_mapping=_FONT_MAPPING, font_mapping_is_regex=True)

document.elements.filter_by_font("bold_text")

You can use whatever regular expression you like, the \w{6}\+ will match any 6 letters and a + at the start of the font.
Let me know if that helps you and we can work out how to move forward with this issue! If anything is unclear, just ask!

Hey, thanks for the quick answer. I tested it and it works like a charm.
I could provide a PR for the docs if you want.

Glad it worked. Sure, a documentation PR would be fantastic!
I would personally do the following:

Add a note to the Font Mapping Overview, just mentioning that regular expression mapping is possible.
Add a new "Step 3" to the Order Summary Example which basically does step 2 again but now with regular expressions, making the comment that for some PDFs the first characters can change. Note that (a) there is a "full code" section at the bottom of each example, and (b) there are tests to ensure this continues to be correct. There will both need updating too.

Let me know if you need any help, otherwise I look forward to a PR!

Note: I've just converted this issue to be a documentation issue. Whilst other comments (about more structured font filtering) are still very valid, I don't really have the bandwidth to do them right now. If someone else is interested in that, do feel free to open a separate issue and reference this one and we can consider it again.

Alright, is there anything else left to do on this issue that I can help with?

All good in my opinion, thanks very much!
Issue closed by #245


Istioctl ps issue

Bug description
istioctl ps get the data from pilot debug interface debug/syncz.
before 1.1.0, the result is timestamp.
"cluster_sent": "2019-08-06 04:45:07.5415578 +0000 UTC m=+164.525105293",
"cluster_acked": "2019-08-06 04:45:07.5415578 +0000 UTC m=+164.525105293",

after 1.1.0, the return value is uuid
"cluster_sent": "5968cebf-fac3-4b66-a7f8-a33d714f99a2", "cluster_acked": "5968cebf-fac3-4b66-a7f8-a33d714f99a2",

There should has code error to parse the uuid to time
https://github.com/istio/istio/blob/1c5a959476abe1f5379fee49188f004b4aced931/istioctl/pkg/writer/pilot/status.go#L107:L120.
That is why we met the STALE (Never Acknowledged) only if the send is not equal to acked.
/cc @esnible @linsun @irisdingbj
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure
Expected behavior
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version)
How was Istio installed?
Environment where bug was observed (cloud vendor, OS, etc)
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

Can we return the timestamp from pilot? if cannot, we may consider to just return STALE if acked is not equal to send

In addition to fixing this issue we need an integration test for istioctl proxy-status to prevent this from happening again.  I believe we currently have only a Go/unit test.

/assign

I just create a pr which may this problem.
The PR also include the unit test fix.

@AsCat Thanks for your PR.

@clyang82 It's my pleasure : )

@clyang82 - can you check if this issue can be closed?

@linsun I just add label to merge the fix to release branch. I will test it in release branch. Thanks.


Modern mode failing to load module when under HTTP Basic Auth [use credentials]

Version
3.0.0-rc.3
Reproduction link
https://1656-repro-jdyuryvihq.now.sh/
username: john
pwd: secret
Steps to reproduce
(No repro)
Build an app with vue-cli, and deploy the SPA under an HTTP Basic Authentification.
What is expected?
Assets are loaded from same-origin with credentials
What is actually happening?
JS modules assets (with type="module") are not forwarding credentials properly and fail to load with a 401 response from the server.

As stated in https://jakearchibald.com/2017/es-modules-in-browsers/ (No credentials section)
<!-- Fetched with credentials (cookies etc) -->
<script src="1.js"></script>

<!-- Fetched without credentials -->
<script type="module" src="1.mjs"></script>

<!-- Fetched with credentials -->
<script type="module" crossorigin src="1.mjs?"></script>

<!-- Fetched without credentials -->
<script type="module" crossorigin src="https://other-origin/1.mjs"></script>

<!-- Fetched with credentials-->
<script type="module" crossorigin="use-credentials" src="https://other-origin/1.mjs?"></script>

We then have to modify the ModernModePlugin https://github.com/vuejs/vue-cli/blob/0b42f2f77a89602dfcfa54d3bbf57f7bdd31420a/packages/%40vue/cli-service/lib/webpack/ModernModePlugin.js
to include crossorigin attribute, or give the ability to add it via vue.config.js

I had the same issue, and the type="module" js  in network  reponse type is text/html!

Here's a repro for you guys https://1656-repro-jdyuryvihq.now.sh/
username: john
pwd: secret

reproduction repo: https://github.com/AlexandreBonaventure/1656-repro

Note: the default has been reverted to anonymous CORS in 30215c28 and you will need to use corsUseCredentials: true in vue.config.js to enforce crossorigin="use-credentials" in the next release (after RC5).


refactor promql optimizer

Currently, we do basic changes to the input promQL query which can be thought of as optimisations. Consider the PreprocessExpr function which wraps the nodes with StepInvariantExpr if applicable. This change allows the engine to get the range query result as an instant query in a single step.
https://github.com/prometheus/prometheus/blob/cda025b5b50328ccd129c141e09dd77b3b1b034e/promql/engine.go#L1549-L1551
This PR refactors this code into a new OptimizeQuery function and adds constant folding (for number literals for now). In the future, we can add other optimisations, eg: propagating label selectors across binary ops #8053
Signed-off-by: darshanime<EMAIL_ADDRESS>

This PR refactors this code into a new OptimizeQuery function and adds constant folding (for number literals for now). In the future, we can add other optimisations, eg: propagating label selectors across binary ops #8053

If you read #8053, you will see that it is not a safe optimization in Prometheus 2.x.

Closing as it's been in draft state for a long time.
If you come back to it please re-open.

Hello from the bug-scrub!
This looks like what I was advocating for in #9714.  Do you think you will come back to it @darshanime ?


PhantomJS 2.0.0: TypeError: undefined is not an object (evaluating 'phantom.args[0]')

I'm attempting to port some specs from clj to cljc and be able to run them on both platforms. While I am able to run them on the JVM with lein spec, I am unable to run the specs through either lein cljsbuild or the executable.

+1

The PhantomJS API documentations says you should use the args property on the system module as the former property on the phantom module has been deprecated.
So your code now should look like:
var system = require('system');
...
p.injectJs(system.args[1]);

I got same problem as @taeverity.
And I tried @eploko code, got another error:
ClojureScript could not load :main, did you forget to specify :asset-path?ReferenceError: Can't find variable: goog

  about:blank:1 in global code
  :0 in write
ReferenceError: Can't find variable: speclj

  undefined:2
  :6


neovim: 0.2.2 -> 0.3.0

Motivation for this change
v0.3.0 was released today
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

@grahamcofborg build neovim

Failure on x86_64-darwin (full log)
Attempted: neovim
Partial log (click to expand)
  cmake/FindIconv.cmake:18 (libfind_process)
  CMakeLists.txt:433 (find_package)

-- Configuring incomplete, errors occurred!
See also "/tmp/nix-build-neovim-unwrapped-0.3.0.drv-0/source/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/nix-build-neovim-unwrapped-0.3.0.drv-0/source/build/CMakeFiles/CMakeError.log".
builder for '/nix/store/0pbwr0wqk2ldbfanhkdz30i1r6aymwbg-neovim-unwrapped-0.3.0.drv' failed with exit code 1
cannot build derivation '/nix/store/qz1a203n45y8zy2fifb8q68lmhdrm1bd-neovim-0.3.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/qz1a203n45y8zy2fifb8q68lmhdrm1bd-neovim-0.3.0.drv' failed

Success on x86_64-linux (full log)
Attempted: neovim
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/xr6hr01ym9adgj7hjicjhngingbfdwr6-neovim-unwrapped-0.3.0
shrinking /nix/store/xr6hr01ym9adgj7hjicjhngingbfdwr6-neovim-unwrapped-0.3.0/bin/nvim
gzipping man pages under /nix/store/xr6hr01ym9adgj7hjicjhngingbfdwr6-neovim-unwrapped-0.3.0/share/man/
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xr6hr01ym9adgj7hjicjhngingbfdwr6-neovim-unwrapped-0.3.0/bin
patching script interpreter paths in /nix/store/xr6hr01ym9adgj7hjicjhngingbfdwr6-neovim-unwrapped-0.3.0
/nix/store/xr6hr01ym9adgj7hjicjhngingbfdwr6-neovim-unwrapped-0.3.0/share/nvim/runtime/macros/less.sh: interpreter directive changed from "/bin/sh" to "/nix/store/qckzjk3406va7h6s40cy9s75z2w715rq-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/xr6hr01ym9adgj7hjicjhngingbfdwr6-neovim-unwrapped-0.3.0...
building '/nix/store/wf81nzsszm9mzzsc3pn0mpihnp2rksjn-neovim-0.3.0.drv'...

Failure on aarch64-linux (full log)
Attempted: neovim
Partial log (click to expand)
        /build/source/src/nvim/generators/gen_declarations.lua:255: in main chunk
        [C]: at 0x00405660
make[2]: *** [src/nvim/CMakeFiles/nvim.dir/build.make:253: src/nvim/auto/eval/encode.c.generated.h] Error 1
make[1]: *** [CMakeFiles/Makefile2:2865: src/nvim/CMakeFiles/nvim.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Built target tty-test
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/g76lcg5l56fza9jc4zdb46s088qq45a8-neovim-unwrapped-0.3.0.drv' failed with exit code 2
cannot build derivation '/nix/store/94kj7nh1cd1ksrsqxjr5d7zybiwa4rb3-neovim-0.3.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/94kj7nh1cd1ksrsqxjr5d7zybiwa4rb3-neovim-0.3.0.drv' failed

@GrahamcOfBorg build neovim

Success on x86_64-linux (full log)
Attempted: neovim
Partial log (click to expand)
/nix/store/rqv535js21r6g8q5l2vjcrmpnkhiap4l-neovim-0.3.0

Failure on aarch64-linux (full log)
Attempted: neovim
Partial log (click to expand)
stack traceback:
        [C]: in function 'match'
        /build/source/src/nvim/generators/gen_declarations.lua:255: in main chunk
        [C]: at 0x00405660
make[2]: *** [src/nvim/CMakeFiles/nvim.dir/build.make:730: src/nvim/auto/os/env.c.generated.h] Error 1
make[1]: *** [CMakeFiles/Makefile2:2865: src/nvim/CMakeFiles/nvim.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/g76lcg5l56fza9jc4zdb46s088qq45a8-neovim-unwrapped-0.3.0.drv' failed with exit code 2
cannot build derivation '/nix/store/94kj7nh1cd1ksrsqxjr5d7zybiwa4rb3-neovim-0.3.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/94kj7nh1cd1ksrsqxjr5d7zybiwa4rb3-neovim-0.3.0.drv' failed

Success on x86_64-darwin (full log)
Attempted: neovim
Partial log (click to expand)
-- Installing: /nix/store/89yf0hjfzgjmnjfa2kinz9cxxyih3m6k-neovim-unwrapped-0.3.0/share/nvim/runtime/tutor/tutor.tutor
-- Installing: /nix/store/89yf0hjfzgjmnjfa2kinz9cxxyih3m6k-neovim-unwrapped-0.3.0/share/nvim/runtime/tutor/en/vim-01-beginner.tutor.json
-- Installing: /nix/store/89yf0hjfzgjmnjfa2kinz9cxxyih3m6k-neovim-unwrapped-0.3.0/share/nvim/runtime/tutor/tutor.tutor.json
post-installation fixup
gzipping man pages under /nix/store/89yf0hjfzgjmnjfa2kinz9cxxyih3m6k-neovim-unwrapped-0.3.0/share/man/
strip is /nix/store/yyak5sjv68n9vdgnkd2cb5djk1l9sqj5-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/89yf0hjfzgjmnjfa2kinz9cxxyih3m6k-neovim-unwrapped-0.3.0/bin
patching script interpreter paths in /nix/store/89yf0hjfzgjmnjfa2kinz9cxxyih3m6k-neovim-unwrapped-0.3.0
/nix/store/89yf0hjfzgjmnjfa2kinz9cxxyih3m6k-neovim-unwrapped-0.3.0/share/nvim/runtime/macros/less.sh: interpreter directive changed from "/bin/sh" to "/nix/store/9gghkkqhn6v7dvpf2319qvrxkkw03vwr-bash-4.4-p19/bin/sh"
building '/nix/store/pz6mdx1y12cxc5h2rp1pcck4k4hpln9s-neovim-0.3.0.drv'...

aarch64 failed already before that.

Thanks  @Mic92 !


Reset consumer offset(s) by the specified offset

The issue was inspired by our Chinese developer community.
For resetting the consumption progress, RocketMQ only provides a single way (MQAdminExt#resetOffsetByTimestamp() & MQAdminExt#resetOffsetByTimestampOld) to update the offset to the specified position.
However, this might be not that precise and convenient sometimes and the developers may need another method such as directly resetting the consumption progress through the specified offset.

Looking forward to this feature~

https://github.com/apache/rocketmq/issues/2267
same as this one


Better README

Pretty self-explanatory. This adds instructions on how to build MagmaWM.

Uhh the depends are not resolved by cargo, you also need to add instructions about setting up seatd properly

you also need to add instructions about setting up seatd properly
Is there any particular reference for that I should take a look at?

You can look at the ci workflow file for the dependencies list (just translate them to dofferent distros)

Please revert back to stable

Add a section on how to report bugs that is, reading and sending logs etc, and add cargo fmt and cargo clippy to the contributing part

Add dependency install commands for few pther distros mainly arch

PR has been updated with the requested changes.

keyboard and monitor config is also completed

keyboard and monitor config is also completed

Full Keyboard Config?
layout etc?
Custom Remapping Caps to ctrl as an example?

keyboard and monitor config is also completed

Full Keyboard Config? layout etc? Custom Remapping Caps to ctrl as an example?

yes, @egreg10us has already tested aswell

Monitors are done too?
Binding Workspaces to Monitor?
etc?

keyboard and monitor config is also completed

Full Keyboard Config? layout etc? Custom Remapping Caps to ctrl as an example?

yes, @egreg10us has already tested aswell

Monitors are done too? Binding Workspaces to Monitor? etc?

only setting resolution and refresh rate done rn


Update comment to mention that webhooks are not supported by helm

The comment is in the helm plugin but only mentions ansible which
is confusing. I used the helm/ansible term to be consistent
with the rest of the comments in the file.
Signed-off-by: Brad Topol<EMAIL_ADDRESS>
Description of the change:
Motivation for the change:
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

Hi @estroz My second commit was missing a signature so I fixed that. But I ended up removing your /lgtm.  Sorry about that


feat: Add error handling to getLoginRequest function

Description
adds error handling to the getLoginRequest function in our application. The changes ensure that any issues with the incoming request parameters are properly caught and handled, providing clear and descriptive error messages.
Fixes #68
Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[ ] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests
[ ] Do we need to implement analytics?
[ ] Will this be part of a product update? If yes, please write one phrase about this update.
[ ] My code follows the style guidelines of this project
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

I tried to reproduce the issue #68.

It's better than "Polymorphic serializer..." error. However, it's still not a descriptive enough message. "Invalid request format" is quite vague, imo. "Invalid request BODY format" would be better, but still doesn't show me what exactly is wrong.
Couldn't we just validate the body request and return something like "Missing 'type' field in the request body"?

Another point: is it just me or are there a lot more file changes in the PR than there should be for "Add error handling to the getLoginRequest function"?

Last but not least: The 500 status code return. I think 400 is more appropriate, no?

The 400 (Bad Request) status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

Another point: is it just me or are there a lot more file changes in the PR than there should be for "Add error handling to the getLoginRequest function"?

that must be because of merging main into it


Support cover image with banners plugin

          If this feature was compatible with the [banners](https://github.com/noatpad/obsidian-banners) plugin that would be super cool

Originally posted by @a-rock-lobster in https://github.com/decaf-dev/obsidian-vault-explorer/issues/32#issuecomment-2134853072

@a-rock-lobster, basic cover image support with the banner tag should be implemented in 1.37.0. Please try it out.

Hey, sorry for delay on this. I've checked it out and first impressions are it's very good! The only possible improvement I can see so far is if the banner plugin alignment in the frontmatter could somehow be reflected in the vault explorer. But still, very cool 👍🏻 I look forward to giving it a proper trial


Disable man-db updates during package upgrade/installation

In the worker-startup-script.sh script, on an f1-micro instance, in us-east1, the man-db package postinst and triggers take 7 minutes to run, on first boot. This is a bit of a drag, and an updated mandb doesn't seem essential for these instances.
With the stock startup script.
Dec 16 06:46:08 slow-vm GCEMetadataScripts[378]: 2020/12/16 06:46:08 GCEMetadataScripts: startup-script: Processing triggers for man-db (2.8.5-2) ...
Dec 16 06:52:54 slow-vm GCEMetadataScripts[378]: 2020/12/16 06:52:54 GCEMetadataScripts: startup-script: Processing triggers for dbus (1.12.20-0+deb10u1) ...

With man-db updates triggered by packages disabled.
Dec 16 06:45:37 faster-vm GCEMetadataScripts[374]: 2020/12/16 06:45:37 GCEMetadataScripts: startup-script: Processing triggers
for man-db (2.8.5-2) ...
Dec 16 06:45:37 faster-vm GCEMetadataScripts[374]: 2020/12/16 06:45:37 GCEMetadataScripts: startup-script: Not building database; man-db/auto-update is not 'true'.
Dec 16 06:45:37 faster-vm GCEMetadataScripts[374]: 2020/12/16 06:45:37 GCEMetadataScripts: startup-script: Processing triggers for dbus (1.12.20-0+deb10u1) ...

bump

bump


[DO NOT MERGE] Migrate Live Tests for Schema Registry

Migrate Live tests of Schema Registry

API change check
API changes are not detected in this pull request.


Should rules check types using issubclass?

Working with the engine, I wrote a StrEnum type that subclasses str, and the trouble is the atoms rule will catch it.
Options:

Match via subclass as now.
Only match exact types.
Two versions of the standard rules.

Option 1, pro is it's the obvious thing to do, con is that it can be overly broad.
Option 2, pro is that we can always add subclasses later, pro is that it gets out of the user's way if they want to specialize behavior for a custom subtype, con is that they probably want their custom type to behave like a regular type. (Especially numpy's types are all very straightforward subclasses of Python types.)
Option 3, pro is it gives you 1 and 2, con is that it's more configuration that is liable to be confusing to users.
Another issue I have is that I'm disregarding the type when converting back to python. If someone claims they're accepting a numpy.float64, it ought to actually construct that.
This relates to #3; if the likely implementation of rules is decorators, it would make it pretty easy to write a version of a rule that matches exactly and an additional subclass matcher.

After thinking about it, I'm going with option 2 (implemented in v0.2.1) until I see use cases in the wild.
Especially, to add support for subclasses, there needs to be a clear and reliable mechanism to decide which rule should win when two rules match a class. Is an IntEnum an int or an Enum?


vector_copy example failed with "elf_begin failed: invalid command"

Hi.
I have installed rocm 1.6 and trying vector_copy test but it failed:
beasterio@beasterio-pc:~/test$ ./vector_copy
Initializing the hsa runtime succeeded.
Checking finalizer 1.0 extension support succeeded.
Generating function table for finalizer succeeded.
Getting a gpu agent succeeded.
Querying the agent name succeeded.
The agent name is gfx803.
Querying the agent maximum queue size succeeded.
The maximum queue size is 131072.
Creating the queue succeeded.
"Obtaining machine model" succeeded.
"Getting agent profile" succeeded.
Create the program succeeded.
Adding the brig module to the program succeeded.
Query the agents isa succeeded.
elf_begin failed: invalid command
Finalizing the program failed.
in test it uses vector_copy_base.brig, so maybe its not valid.
HelloWorld example works fine. I tried also HIP examples and they are ok too.
Ubuntu 16.04, video - Radeon rx 480.

We removing this test,  and moving to use HIPinfo instead,  we been slowing working on removing this backend from ROCm.
Greg
On Sep 5, 2017, at 4:25 AM, Konstantin Zverev <notifications<EMAIL_ADDRESS>wrote:
Hi.
I have installed rocm 1.6 and trying vector_copy test but it failed:
beasterio@beasterio-pc:~/test$ ./vector_copy
Initializing the hsa runtime succeeded.
Checking finalizer 1.0 extension support succeeded.
Generating function table for finalizer succeeded.
Getting a gpu agent succeeded.
Querying the agent name succeeded.
The agent name is gfx803.
Querying the agent maximum queue size succeeded.
The maximum queue size is 131072.
Creating the queue succeeded.
"Obtaining machine model" succeeded.
"Getting agent profile" succeeded.
Create the program succeeded.
Adding the brig module to the program succeeded.
Query the agents isa succeeded.
elf_begin failed: invalid command
Finalizing the program failed.
in test it uses vector_copy_base.brig, so maybe its not valid.
HelloWorld example works fine. I tried also HIP examples and they are ok too.
Ubuntu 16.04, video - Radeon rx 480.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/RadeonOpenCompute/ROCm/issues/197, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AD8DuVhXYm5uhs3_SFnUAUIllxyD-TIUks5sfRN7gaJpZM4PMrCo.

The test is being removed, but the error you are receiving indicates the brig file you are loading and parsing with libelf is either corrupted or in a format not compatible with the version of libelf you are using. The vector_copy code, brig files and hsail have not been modified in a long time. I suggest trying another simple sample, like hipInfo, to see if your system setup is correct. As Greg indicated above, vector_copy is out of support.

I meet the same message in my RX580 with ubuntu 16.4
and I try hipInfo and some others samples, there are all OKed.


Add OHKO level with crit hits

Compute what level pokemon cna OHKO with a critical hit.

Added with https://github.com/chrizandr/tppc_damage/commit/d3e042adc77f6e64d9b458cce2c3da714bbc3a3c
Crit multiplies damage by 1.5


Ludusavi doesn't restore registry saves

Ludusavi version
v0.15.1
Operating system
Windows
Installation method
Standalone
Description
It just doesn't. They don't appear in registry
Logs
ludusavi_r2022-12-21_18-13-33.log

Thanks for reporting this. I'm not sure how I overlooked this, but I have a fix ready and will do a new release shortly.

This is now fixed in 0.15.2.


[6.0] Downgrade the error about #isolation in @_unsafeInheritExecutor when the concurrency library is old

Explanation: The introduction of the error concerning use of #isolation within an @_unsafeInheritExecutor function was carefully staged between the concurrency library and compiler to avoid breaking source compatibility. However, it is a source compatibility break when dealing certain revisions of the concurrency library that adopted #isolation prior to the compiler error. Detect when the _Concurrency library doesn't have the necessary workarounds in it and downgrade the error to a warning.
Scope: Narrow change to downgrade a specific error to a warning in @_unsafeInheritExecutor functions.
Issues: rdar://132023573
Original PRs: https://github.com/swiftlang/swift/pull/75347
Risk: Low, very narrow change.
Testing: Regression tests, plus testing of the workaround with the One Version of the concurrency library that's causing the issue.

@swift-ci please test

@swift-ci please test macOS


docs(plugins): update type for SourceMapDevToolPlugin's append option

Fixed in https://github.com/webpack/webpack.js.org/pull/6916


8312 - update state route

Shippable/pm#8312
https://github.com/Shippable/admiral/issues/193#issuecomment-294044148

I think this is a duplicate of #205.


[wasm] Do not set permissions in Data.write

This fixes https://github.com/swiftwasm/swift/issues/5584.
This PR does not affect platforms other than WASI.

Good catch! Don't we need to fix _setAttributes too?

@kateinoigakukun

Don't we need to fix _setAttributes too?

I'm sorry, but I don't understand what you mean by "fix _setAttributes".
I changed permissions so that the condition of the if statement are always not satisfied instead of enclosing the following lines with #if !os(WASI).

https://github.com/apple/swift-corelibs-foundation/blob/d7c868a21d086711de2cca72e619d4e8ce6bed49/Sources/Foundation/NSData.swift#L471-L473
https://github.com/apple/swift-corelibs-foundation/blob/d7c868a21d086711de2cca72e619d4e8ce6bed49/Sources/Foundation/NSData.swift#L503-L505

@kkebo Sorry, I meant it might be better to ignore the permission attribute within FileManager.setAttributes because currently all users of the API also need to exclude FileAttributeKey.posixPermissions entry from the passing attributes manually as we do in this PR but it's just annoying for most of use cases...

@kateinoigakukun That makes sense and it can solve many problems with less code. On the other hand, since it is true that the posixPermissions key is not supported on WASI, I feel that we should throw an error and notify programmer, and also programmers should not try to set posixPermissions in the first place.

Okay, given that the API is not so widely used directly, asking users to change their code might be practically reasonable 👍

@swift-ci test

We're going to lose this diff once we delete this file in the package branch. Please open a corresponding patch for https://github.com/apple/swift-foundation.

Actually, this one may persist because this change was only made to the class type NSData and not the struct - was that intentional?

@parkera

Actually, this one may persist because this change was only made to the class type NSData and not the struct - was that intentional?

At least in swift-corelibs-foundation, the Data.write method calls the NSData.write and does not have its own implementation.

This will soon no longer be the case - see here: https://github.com/apple/swift-foundation/blob/main/Sources/FoundationEssentials/Data/Data%2BWriting.swift

Yes, I know swift-foundation's Data.write.
Besides, I have read your comment before, and I know we will eventually use the implementation of swift-foundation, but I don't know how much effort it takes to make swift-foundation compatible with Wasm.


Improve broadcast

This PR avoids allocation of list and tuple.

Jenkins, test this please

Jenkins CI test (for commit 1f24225f06bb84197b2d8d34886c824ad3c0d00f, target branch master) failed with status FAILURE.

Jenkins, test this please

Jenkins CI test (for commit 1f24225f06bb84197b2d8d34886c824ad3c0d00f, target branch master) succeeded!


remove watchdogs, which are superceded by pings

Will this sentinel be compatible with a 12.1 client ?

If we merge this with the master branch it gets:
Got an error upon import: 'watchdogs'


modifiying ansible scripts for upgradation

updated the ansible scripts for upgradation from 3.7 to 4.0 release.
Workflow_angular configuration tasks
workflow_postgres configuration tasks
workflow_nifi_params configuration tasks
datasource configuration tasks

updated the ansible scripts for upgradation from 3.7 to 4.0 release.
Workflow_angular configuration tasks
workflow_postgres configuration tasks
workflow_nifi_params configuration tasks
datasource configuration tasks

Task Completed


#4957: optimizing construct_2d_padded_tensor_list

will shave off noticeable time off post-commit

Update: Tracy python inflates runtime if many instances of a functions are called, in this case ~150 million of construct_2d_padded_tensor_list were called. The real time saved should be around ~60-90 seconds, and the Tracy run should no longer be as inflated

clean post commit: https://github.com/tenstorrent-metal/tt-metal/actions/runs/8077339948/job/22067436674


feat: KEDA v2.8.1 is used in AKS add-on

Learn Build status updates of commit 00e3c53:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

support/azure/azure-kubernetes/troubleshoot-kubernetes-event-driven-autoscaling-add-on.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

AB#170923

Was fixed in a different PR.


Publish timestamp along with data

Is there an option to publish the timestamp of acquisition along with the data?
If QOS>0 is selected and there is an MQTT outage, the messages should be buffered, I think. In that scenario, it would make sense to have a timestamp in every message...

Hi @dakhnod, have you tried "--timestamp" argument? type modpoll -h or check here for details.

Thanks!


[FLINK-21736][state] Introduce state scope latency tracking metrics

What is the purpose of the change
Track the state latency metrics.
Brief change log

Separate state backend and checkpoint options.
Introduce latency tracking state config and basic classes.
Enable to tack latency state with introduced LatencyTrackingValueState, LatencyTrackingListState, LatencyTrackingMapState, LatencyTrackingAggregatingState and LatencyTrackingReducingState.

Verifying this change
Added test LatencyTrackingStateConfigTest to verify configuration test.
Added test LatencyTrackingValueStateTest, LatencyTrackingListStateTest, LatencyTrackingMapStateTest, LatencyTrackingAggregatingStateTest and LatencyTrackingReducingStateTest to verify different state wrapper.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): yes (add dependency of io.dropwizard.metrics:metrics-core:3.2.6 )
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): yes, state with metrics would impact the state performance.
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? docs

If we enable track the latency of state access, there would exist some performance regression as we need to calculate the latency via two times call of System.nanoTime.
Below is the performance compare with enabled latency tracking state (sample interval: 100). We can see heap state backend would be impacted more obviously.

operations
type
latency tracking QPS
original QPS
performance change

ListStateBenchmark.listAdd
HEAP
8140.139
9064.081
-10.19%

ListStateBenchmark.listAddAll
HEAP
1170.439
1086.373
7.74%

ListStateBenchmark.listAppend
HEAP
4070.654
4364.116
-6.72%

ListStateBenchmark.listGet
HEAP
4112.02
4403.857
-6.63%

ListStateBenchmark.listGetAndIterate
HEAP
4028.173
4293.069
-6.17%

ListStateBenchmark.listUpdate
HEAP
3977.07
4302.616
-7.57%

MapStateBenchmark.mapAdd
HEAP
4272.695
4429.009
-3.53%

MapStateBenchmark.mapContains
HEAP
3606.731
3727.85
-3.25%

MapStateBenchmark.mapEntries
HEAP
19798.66
22276.277
-11.12%

MapStateBenchmark.mapGet
HEAP
3430.402
3505.954
-2.15%

MapStateBenchmark.mapIsEmpty
HEAP
4833.259
4981.474
-2.98%

MapStateBenchmark.mapIterator
HEAP
20472.585
21335.119
-4.04%

MapStateBenchmark.mapKeys
HEAP
22864.626
25057.534
-8.75%

MapStateBenchmark.mapPutAll
HEAP
2285.514
2409.35
-5.14%

MapStateBenchmark.mapRemove
HEAP
4487.178
4717.213
-4.88%

MapStateBenchmark.mapUpdate
HEAP
3443.089
3555.822
-3.17%

MapStateBenchmark.mapValues
HEAP
23053.149
25037.289
-7.92%

ValueStateBenchmark.valueAdd
HEAP
4869.279
5026.357
-3.13%

ValueStateBenchmark.valueGet
HEAP
4880.446
5030.63
-2.99%

ValueStateBenchmark.valueUpdate
HEAP
4878.84
5030.789
-3.02%

ListStateBenchmark.listAdd
ROCKSDB
661.859
676.74
-2.20%

ListStateBenchmark.listAddAll
ROCKSDB
387.586
392.964
-1.37%

ListStateBenchmark.listAppend
ROCKSDB
651.417
659.463
-1.22%

ListStateBenchmark.listGet
ROCKSDB
196.54
196.321
0.11%

ListStateBenchmark.listGetAndIterate
ROCKSDB
196.15
197.117
-0.49%

ListStateBenchmark.listUpdate
ROCKSDB
655.848
668.958
-1.96%

MapStateBenchmark.mapAdd
ROCKSDB
564.704
570.076
-0.94%

MapStateBenchmark.mapContains
ROCKSDB
72.266
72.527
-0.36%

MapStateBenchmark.mapEntries
ROCKSDB
497.074
505.535
-1.67%

MapStateBenchmark.mapGet
ROCKSDB
72.397
72.257
0.19%

MapStateBenchmark.mapIsEmpty
ROCKSDB
65.11
64.307
1.25%

MapStateBenchmark.mapIterator
ROCKSDB
499.665
502.106
-0.49%

MapStateBenchmark.mapKeys
ROCKSDB
501.688
507.647
-1.17%

MapStateBenchmark.mapPutAll
ROCKSDB
162.493
166.482
-2.40%

MapStateBenchmark.mapRemove
ROCKSDB
588.882
592.891
-0.68%

MapStateBenchmark.mapUpdate
ROCKSDB
564.878
565.93
-0.19%

MapStateBenchmark.mapValues
ROCKSDB
504.755
504.891
-0.03%

ValueStateBenchmark.valueAdd
ROCKSDB
565.801
566.092
-0.05%

ValueStateBenchmark.valueGet
ROCKSDB
924.21
929.503
-0.57%

ValueStateBenchmark.valueUpdate
ROCKSDB
558.719
576.711
-3.12%

@flinkbot run azure

Unfortunately, changing the histogram implementation from com.codahale.metrics.Histogram + SlidingTimeWindowReservoir to DescriptiveStatisticsHistogram + CircularDoubleArray gets a worse performance regression via flink-benchmarks, still investigating ..

Unfortunately, changing the histogram implementation from com.codahale.metrics.Histogram + SlidingTimeWindowReservoir to DescriptiveStatisticsHistogram + CircularDoubleArray gets a worse performance regression via flink-benchmarks, still investigating ..

It was a false alarm. The actual reason is the newly introduced tracking iterator#next latency would have impacts over the performace:

Benchmark
(backendType)
original Score
latency-tracking enabled Score        (Flink internal histogram)
latency-tracking enabled Score        (codahle implemented histogram)
performance change      (Flink internal histogram)
performance change      (codahle implemented histogram)

ListStateBenchmark.listAdd
HEAP
9199.445
7613.489
7411.939
-17.24%
-19.43%

ListStateBenchmark.listAddAll
HEAP
1072.198
1088.434
1047.93
1.51%
-2.26%

ListStateBenchmark.listAppend
HEAP
4375.627
4136.901
4052.241
-5.46%
-7.39%

ListStateBenchmark.listGet
HEAP
4419.291
4065.197
4003.472
-8.01%
-9.41%

ListStateBenchmark.listGetAndIterate
HEAP
4279.762
3978.864
3927.868
-7.03%
-8.22%

ListStateBenchmark.listUpdate
HEAP
4307.681
3597.863
3631.94
-16.48%
-15.69%

MapStateBenchmark.mapAdd
HEAP
4428.129
4295.446
4244.579
-3.00%
-4.15%

MapStateBenchmark.mapContains
HEAP
3731.079
3609.574
3564.076
-3.26%
-4.48%

MapStateBenchmark.mapEntries
HEAP
22218.71
12270.087
9920.191
-44.78%
-55.35%

MapStateBenchmark.mapGet
HEAP
3485.223
3483.249
3402.05
-0.06%
-2.39%

MapStateBenchmark.mapIsEmpty
HEAP
5004.396
4887.583
4721.653
-2.33%
-5.65%

MapStateBenchmark.mapIterator
HEAP
21284.53
12807.682
10396.586
-39.83%
-51.15%

MapStateBenchmark.mapKeys
HEAP
24892.573
13020.899
10985.759
-47.69%
-55.87%

MapStateBenchmark.mapPutAll
HEAP
2429.054
2216.094
2185.309
-8.77%
-10.03%

MapStateBenchmark.mapRemove
HEAP
4735.704
4132.611
4238.824
-12.74%
-10.49%

MapStateBenchmark.mapUpdate
HEAP
3553.116
3440.258
3414.649
-3.18%
-3.90%

MapStateBenchmark.mapValues
HEAP
24845.875
12207.236
10276.476
-50.87%
-58.64%

ValueStateBenchmark.valueAdd
HEAP
5044.144
4807.602
4673.127
-4.69%
-7.36%

ValueStateBenchmark.valueGet
HEAP
5030.982
4807.588
4693.427
-4.44%
-6.71%

ValueStateBenchmark.valueUpdate
HEAP
5020.6
4785.519
4628.28
-4.68%
-7.81%

ListStateBenchmark.listAdd
ROCKSDB
678.07
652.355
665.843
-3.79%
-1.80%

ListStateBenchmark.listAddAll
ROCKSDB
383.417
351.778
376.966
-8.25%
-1.68%

ListStateBenchmark.listAppend
ROCKSDB
656.482
640.139
648.939
-2.49%
-1.15%

ListStateBenchmark.listGet
ROCKSDB
198.101
195.144
196.885
-1.49%
-0.61%

ListStateBenchmark.listGetAndIterate
ROCKSDB
196.901
193.225
195.766
-1.87%
-0.58%

ListStateBenchmark.listUpdate
ROCKSDB
676.918
660.558
659.313
-2.42%
-2.60%

MapStateBenchmark.mapAdd
ROCKSDB
563.874
563.195
562.425
-0.12%
-0.26%

MapStateBenchmark.mapContains
ROCKSDB
72.388
71.969
72.988
-0.58%
0.83%

MapStateBenchmark.mapEntries
ROCKSDB
501.586
485.41
475.739
-3.22%
-5.15%

MapStateBenchmark.mapGet
ROCKSDB
72.206
71.506
71.793
-0.97%
-0.57%

MapStateBenchmark.mapIsEmpty
ROCKSDB
65.273
64.77
64.823
-0.77%
-0.69%

MapStateBenchmark.mapIterator
ROCKSDB
504.318
488.65
482.553
-3.11%
-4.32%

MapStateBenchmark.mapKeys
ROCKSDB
508.078
494.691
488.075
-2.63%
-3.94%

MapStateBenchmark.mapPutAll
ROCKSDB
166.555
162.329
159.749
-2.54%
-4.09%

MapStateBenchmark.mapRemove
ROCKSDB
591.476
574.673
568.482
-2.84%
-3.89%

MapStateBenchmark.mapUpdate
ROCKSDB
570.014
566.411
561.183
-0.63%
-1.55%

MapStateBenchmark.mapValues
ROCKSDB
502.832
489.179
484.986
-2.72%
-3.55%

ValueStateBenchmark.valueAdd
ROCKSDB
577.017
550.798
555.582
-4.54%
-3.71%

ValueStateBenchmark.valueGet
ROCKSDB
933.708
918.24
909.075
-1.66%
-2.64%

ValueStateBenchmark.valueUpdate
ROCKSDB
583.396
562.835
554.475
-3.52%
-4.96%

We still can see the Flink internal implementation behaves a bit better than com.codahale.metrics.Histogram.

@carp84 Thanks for your review, already refactor based on your comments. Moreover, I have rebased all fixup commits to make the commit history clean.

I only took a quick look at this.
The main thing I looked at is the performance critical path:

the wrapping calls
the counter (which determines whether to draw a sample).

I think we can improve this. Let's look at this code here, for a list state value adding.

If my knowledge of Java is correct, this created three capturing lambda instances. The first and the third capture the reference to the instance of the StateLatencyMetricBase, the second captures the value parameter. This means three objects for every access here, regardless of whether we end up drawing the sample. Maybe the JIT will do some magic stack allocation or so, otherwise it remains overhead on every call.
The next part is the counter to check whether it is sample time, here at the example of checking the counter for "clear()".

Here we have a HashMap lookup every time, and also another capturing lambda (object instantiation).

Again, maybe the JIT gets rid of some of that, but I am wondering if love of lambdas and abstraction is a bit too far here, given that this is part of the most performance critical code in the system.
What happens if we rewrite the code like this instead:

Keep a primitive fields directly for each counter in the class where action is defined
Inline the counter checks, and only use lambdas for the actual sample measurement

private int clearCounter = sampleSize;

@Override
public void clear() {
    if (--clearCounter > 0) {
        original.clear();
    } else {
        clearCounter = sampleSize;
        takeSample(originalState::clear, STATE_CLEAR_LATENCY);
    }
}

Would be interesting to see if this can reduce the overhead. Probably most measurable with the Heap Backend.

@StephanEwen , thanks for your suggestions. My first PR chose to use less lambdas but then I refactored my implementation to choose better abstraction to avoid code duplication in next reviews. However, I should think of more about performance instead of clean code here.
I have verified it quickly with draft commit and see the performance behaves better on heap state backend map related operations:

Benchmark
backendType
current PR  implementation
less lambdas and hashmap lookup
performance changes

MapStateBenchmark.mapAdd
HEAP
4295.446
4402.606
2.49%

MapStateBenchmark.mapContains
HEAP
3609.574
3661.509
1.44%

MapStateBenchmark.mapEntries
HEAP
12270.087
18040.646
47.03%

MapStateBenchmark.mapGet
HEAP
3483.249
3495.29
0.35%

MapStateBenchmark.mapIsEmpty
HEAP
4887.583
4927.959
0.83%

MapStateBenchmark.mapIterator
HEAP
12807.682
18896.097
47.54%

MapStateBenchmark.mapKeys
HEAP
13020.899
20141.958
54.69%

MapStateBenchmark.mapPutAll
HEAP
2216.094
2413.75
8.92%

MapStateBenchmark.mapRemove
HEAP
4132.611
4692.476
13.55%

MapStateBenchmark.mapUpdate
HEAP
3440.258
3522.312
2.39%

MapStateBenchmark.mapValues
HEAP
12207.236
19732.517
61.65%

Those iterator-like operations have obvious performance gain. I'll change current PR to less lambdas and hashmap lookup.

My local CI is still running and it seems fine until now. What do you think of the order to merge this PR and https://github.com/apache/flink/pull/15429 as they exist conflicts, @StephanEwen

@StephanEwen From my point of view, I think this PR is ready to merge especially we have already improved the performance again.
The main conflicts between  #15429 should be ConfigurableStateBackend#configure as I need to reconfigure the latencyTrackingConfigBuilder.

My local CI is successful (one of the job failed to cache the repo but all tests passed).

@Myasuka I believe this is a useful feature and nice to have in 1.13 release, but would suggest to wait for a full review from Stephan.
@StephanEwen is it ok if we merge this one after feature freeze? I think this would be a useful one for production usage and suggest to include it in 1.13 release. Thanks.

Looks good to me, +1 to merge after rebasing.

Thanks for your review, merging


Fixes Issue #430

Fixed a grammatical mistake.

Added the wrong number. Meant to be for #431. Closed this one.


increasing width of xref dbprimary_acc and display_label

As discussed with Mag et al. recently, to ensure schema compatibility with EG

do you need this for release 81?
otherwise the patch file would be patch_81_82_b.sql

Whoops, didn't notice you'd not created a patch file for 81_82 yet. Probably cleanest to wait until you've created patch_81_82_a.sql and then resubmit.


Error in System Logs when restarting HA in v1.4.5

Checklist:

[ x] I updated to the latest version available
[ x] I cleared the cache of my browser

Release with the issue: v1.4.5
Last working release (if known): I wasn't checking the logs so often with the previous version, so I don't know
Browser and Operating System:
Home Assistant 2023.3.1
Supervisor 2023.01.1
Operating System 9.5
Frontend 20230302.0 - latest

Description of problem:
Whenever I restart Home Assistant, I have the following error in the System Logs

Javascript errors shown in the web inspector (if applicable):
Logger: frontend.js.latest.202303020
Source: components/system_log/__init__.py:254
First occurred: 11:50:33 (1 occurrences)
Last logged: 11:50:33

http://<IP_ADDRESS>:8123/hacsfiles/linked-lovelace-ui/linked-lovelace-ui.js?hacstag=559360809145:84:0 SyntaxError: Invalid regular expression: invalid group specifier name

Additional information:

duplicate of #19
Doesn't seem to break anything AFAIK, but definitely not great

Agreed that it doesn't break anything
As it is a duplicate, I will close this issue so it doesn't clog your issues list.
Thanks for the prompt response


Solidity tests pass when they shouldn't

[x] I've asked for help in the Truffle Gitter before filing this issue.

Issue
Solidity tests do not seem to test anything. They just pass
Steps to Reproduce

truffle init
Edit a TestMetacoin and change 10000 to smth (for example 42)
truffle test

Expected Behavior
Tests should fail
Actual Results
Tests passed
Environment

Operating System: macos
Truffle version: 3.0.2
Ethereum client: testrpc
node version: v7.5.0
npm version: 4.1.2

This was due to the same underlying issue in #339, and has now been fixed. Thanks again for reporting this. Uninstall truffle and reinstall it again to update the latest dependencies.
Cheers!


Sharing gittuf root across repositories

Add a description
To enable large-scale deployments of gittuf, it must be possible to group repositories together and have them share a root of trust. This will minimize the burden of managing root of trust keys and will also enable applying root changes across multiple repositories at once.
Possibly related: #544
Relevant log output if the discussion pertains to existing gittuf functionality
No response
Code of Conduct

[x] I agree to follow this project's Code of Conduct

Tagging some people who may be interested in this one: @stiankri-telenor, @dns43

We should also explore how to set baseline / common rules across multiple repositories via this effort.


Autopopulate and clean onboarding

Summary

[ ] Integrate with a maps API so that choosing address becomes an autocomplete process
[ ] Require state to be a dropdown with all 50 states, so we can keep collected data clean
[ ] When selecting a free text field, remove the "Click here" text, as this is confusing and makes the user feel like their click didn't work

Motivation
This allows for

A smoother and more complete UI/UX
Cleaner collected data by giving users only set options to choose from

Does Mapbox have the functionality for this? Just because we're already using it for the map itself. If not I think Google is fine at this point - especially if just for autocomplete. Just need to be sure Google isn't doing anything with users' location data, as this gets tricky especially with PHI if we ever are able to call our data PHI

Good call, they do:
https://www.mapbox.com/pricing/#search


Is the source for Hyperkernel around somewhere?

So this is the source for init, but I would also like to see the source for Hyperkernel. Is it possible to have the source for that as well? I'm mainly just curious about which build system was used for it - Buildroot? Yocto? Something custom? Thanks in advance!

It looks like the kernel is actually built here in a Docker container? https://github.com/hyperhq/hyperstart/blob/master/build/Dockerfile

it is built via hyperctl build

Thanks!


Unintentional use of C code

On line Line 46 you use hiredis to read the data. The Python hiredis package is just a thin wrapper around the C code. So at least part of your benchmarks are not coming from interpreted python.

That's a very good point. I wonder how much of a performance drop would be caused by reimplementation of the Reader class in pure Python.

I don't think it's unintentional. I think part of the point is that in the real world, interpreted languages have ecosystems that provide many tools to address specific needs, including performance needs. pydis also uses uvloop for it's event loop. That's Cython, so also not pure Python. That's not the point. To ignore the library of available tools and library would be to ignore the strength of the language ecosystem.
It's not about "pure" vs. "pure". It's about the real world.

@mikenerone has perfectly articulated my reasoning. =)

Using C libraries is not an invalid way to write Python, of course. But it may limit the generalizability of the purported lesson to protocols where a fast C parser library with Python bindings has already been written.


[BUG] - Select component onChange not triggered when there are more than 300 SelectItems

NextUI Version
2.1.8
Describe the bug
If a Select component is created with 300 SelectItems everything works as expected. onChange is triggered when an item is selected.
But if the Select component is created with 301 (or more) SelectItems onChange is not triggered when an item is selected.
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
Create a Select component
Log the onChange event
Dynamically add 301 or more SelectItems
Click on a Select item, onChange is not triggered
Expected behavior
There are no documented limitations of the number of options. Select should work with any number of options.
Screenshots or Videos
No response
Operating System Version
Linux
Browser
Firefox

please confirm if it is reproducible in the latest version
if not, please share a minimal reproducible environment like stackblitz.

Reproducible in the latest version.
Minimal reproducible environment: https://stackblitz.com/edit/vitejs-vite-qsmd9d?file=src%2FApp.tsx

This bug is due to a size check in hidden-select.tsx line 142, where for sizes <= 300 it renders a select element with a ref associated with it, but for larger sizes it renders an input element without a ref. This results in the domRef being null for sizes greater than 300, and if the domRef is null then the onChange doesn't get triggered because onChange requires props from the domRef to be passed into the onChange event, and since domRef is null then it doesn't call the onChange. This check occurs in use-select.ts line 252.
The question here is, how do we want to handle this?

The number 300 is referenced from RA hiddenSelect. The bug here, as you mentioned, is due to the absence of the domRef for such case. I've made some changes locally already. Just need some time to write the test and make the PR.


Find a different second api

find an api that isnt target

We ended up using the YouTube API as our 2nd API.


upnp/src/api/upnpapi.c: don't set gIF_IPV4 if there is no IPv4

Don't set gIF_IPV4 if no IPv4 is found to keep the default value of '\0' otherwise SSDP will try to register IPv4 multicast with address <IP_ADDRESS> which will result in a runtime failure
Signed-off-by: Fabrice Fontaine<EMAIL_ADDRESS>

I'll update this PR shortly as I found another issue possible in the web server


Vehicle option codes can be extracted from the Tesla account

The link which is used to generate the image of your car includes the option codes. As far as I can see, the options in the link match my car.

Thanks, but I don't think this should be added. How they're extracted has changed a number of times over the years. Given that Tesla doesn't rely on them for their own APIs means they may even go away at some point.


GUACAMOLE-296: Fix linking issue that causes audio issues with FreeRDP 1.1

This is a very minor tweak to the configure.ac file that adds the winpr-utils library to the list of libraries linked when the winpr/stream.h file is found.  This works correctly for FreeRDP 1.0 (winpr/stream.h is not present) and FreeRDP 1.1 (winpr/stream.h is present), but probably not FreeRDP 2.0, as winpr libraries got significantly collapsed there.  But, I think there may be other issues with FreeRDP 2.0 and the Guacamole server.

Ping myself on this one...haven't made any progress, here....

@mike-jumper: Okay, used a separate WINPR_LIBS variable and broke this functionality out, here.  I kept the definition of that variable at the check for streams.h, since that's the header file that symbol is defined in.  Let me know if anything else needs to be tweaked.

@necouchman - looks good, but to confirm:

Has it been verified that the originally-reported problem is reproducible without these changes, but cannot be reproduced with these changes applied?
What about the other FreeRDP plugins: guacsnd, guacdr, and guacsvc?
Does libguac-client-rdp need to be linked with WINPR_LIBS as well?

Yes, I can confirm it resolves the originally-reported problem, and a couple of other folks tested it and reported success after my original change, so that issue is definitely resolved.
I will check on those, but I'm pretty sure the others did not, for whatever reason, need to link directly to the winpr-utils library.  I don't know if they look to the guacai library, but I'll double-check.
Same with this one, I will double-check, but am reasonably certain that it was only the guacai library that required this link.

Confirmed.
The other FreeRDP plugins - snd, dr, and svc - are all linked against the winpr-utils library, already.  I'm not entirely sure how this happens - not sure if it picks it up from guacai, or if a different library it is linking against also pulls it in.
No, libguac-client-rdp does not need this link - it appears to be specific to the plugins.

Sounds OK, then. We should figure out why exactly that library is problematic only for one specific plugin, but for now I don't see any reason not to merge this.


Replace round with clamp

Fixes #46 . The round -> clamp changed many of the digests back to what was seen prior to #33 (which initially added back the round method).

Merging due to only change being the one requested (removed unnecessary spec)


Feature/pubsub options

This is a 🐛 bug fix.
This is a 🙋 feature or enhancement.

Summary

No Breaking Changes.
PubSub Handler Decorator:

Add options as last argument

autoAck (default true for backward compatability) defines if the message should be acknowledged automatically when successfully processed

PubSub Module Options:

config.consumer.prefetchPerConsumer defines the limit of unacknowledged messages (processed in parallel) for one consumer (handler)
config.consumer.prefetchPerChannel defines the limit of unacknowledged messages (processed in parallel) for all consumers in total (all handlers; you can understand this as instance-level limit)

PubSub Event:

Add ack and nack methods

Internal:

Remove automatic message acknowledge immediately after consumption
Use single channel for all consumers

Context

Pull Request Test Coverage Report for Build 748442537

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.889%

Totals

Change from base Build 460742717:
0.0%

Covered Lines:
13

Relevant Lines:
14

💛  - Coveralls


Add support for optional record properties

I have a rough thing that works for this using an # optionalProp combinator rather than the record syntactic sugar, but would like to come up with a way that can work for sugar too.

@garyb Could you elaborate on what method did or do you have in mind to enable syntactic sugar for optional fields? I tried to tackle it a bit, but it doesn't seem obvious.

It would mean introducing something similar to the Left / Right for variantMatch distinguishing between nullary and unary constructors, although I would probably introduce a ADT with better named constructors for it, so you'd have like
CAR.object "MyRecord"
  { foo: CAR.Required CA.string
  , bar: CAR.Optional CA.int
  }

Ideally I'd like to have a 3rd supported variety too, constant values:
CAR.object "MyRecord"
  { tag: CAR.Constant CA.string "baz"
  , foo: CAR.Required CA.string
  , bar: CAR.Optional CA.int
  }

But that kind of thing doesn't exist in the library in any form right now.
All of this should be pretty easy really, I don't recall what it was that stopped me from just getting it done.

Nice, I also have come to such API after trying to get if it would be possible to make using just JsonCodec like:
object "MyRecord"
  { tag: string "baz"
  , foo: maybe string
  , bar: optional CA.int
  }

But as a custom type is a way to go, it could potentially be extended to an even nicer API via helper functions:
object "MyRecord"
  { tag:  constant "baz"
  , foo: required $ string # default "foo"
  , someBar: optional CA.int # rename "some_bar"
  }

Any change a name other than object could be used to distinguish one from another? If you're doing variant A, could it instead be named objectA?

@garyb
I'm quite bad at type level yet. So, for this to work:
type Obj = { x :: Int, y :: Maybe String }

recCodec :: JsonCodec Obj
recCodec =
  object "Record"
     { x: required C.int
     , y: optional C.string
     }

I have such a dirty implementation:
data RecordPropCodec a
  = Required (JsonCodec (Maybe a))
  | Optional (JsonCodec a)

instance rowListCodecCons ::
  ( RowListCodec rs ri' ro'
  , Row.Cons sym (RecordPropCodec a) ri' ri
  , Row.Cons sym a ro' ro
  , IsSymbol sym
  , TE.TypeEquals co (RecordPropCodec a)
  ) => RowListCodec (RL.Cons sym co rs) ri ro where
  rowListCodec _ codecs =
    case codec of
      Required c mods ->
        recordProp (Proxy :: _ sym) (unsafeCoerce c) tail

      Optional c mods ->
          recordPropOptional (Proxy :: _ sym) c tail
   where
   codec = TE.from (Rec.get (Proxy :: Proxy sym) codecs)

optional :: ∀ a. JsonCodec a -> RecordPropCodec (Maybe a)
optional c = Optional (unsafeCoerce c)

required ::  ∀ a. JsonCodec a -> RecordPropCodec a
required c = Required (unsafeCoerce c)

Also here in recordPropOptional instead of Row.Cons p (Maybe a) r r' have to use Row.Cons p a r r' because of constraint in the instance.
Should there probably be more type-wise implementation of this?

Fixed in #51


[Addition]:  24 PantherX and Heltec cluster near Munchen, Germany

Hotspot b58 Addresses
1125GPa9ZPMPQrVwsLMWrgnBDmiMsNbFV8Z1MeybtrMR2aTxztqt
1125mfrKpLr6KwdHv2czZ7TkpQemqQHjN1i4agKrEAAhChCvWKCx
112f3xPYZGw13mzESri85AdyK3MCyLZW42bCrqE3Muvfm8MvRqNi
112J93Ymrjq7PH6gxP2kxLjHgw8u86KvMynggDznTBJXBAqgCJer
112rgKCkG8DoJi1MosFYVDmuKPeouXMhouMLTZVyZw93WSaKjxab
112UQzWmHabDgve1sP1yZQ9MGgR54CrXeSatGTwqSo9G2VmUhuSZ
112wWi5roYoazy6WBSeN9iwKMaaEkQZiq7HGPkfPigED8iqQkE9P
112Z1SLtrqyMQBuZ8W7iUbVHkWg3KNawFS6NjVuzgGR9bNpJMbT8
113Yb3XRbfnRAgdPHTLiWp29meW9AZtkjgCUQafD29Co5i1Hnpo
114jywELrGoXAsqtS53K41weNe4H3e3AqXRBTDc4C4o51P8fXMA
114o3VnCSdBgjg3fPyK6cipxyPxBU7C2ebbpUjieLeaNhALTYDF
1173uVFYy9NDNbmJ3i8akFqpPhgAhttCWcNYs7QuEPb8vce1GgA
117QpEWrJRZGi3kzGW6rJkfDyRZfAoVshUBitZfhg1trHGiDe31
11cUQh42yZuEPhy9Sut1jh1unZPhjzXHRtSJUjnPBouX8wuqfHB
11hMLLuAhmsX7smRqikq5MJzzrC3bs2sykLUvSufTDjA5edqz3J
11hNKBerAdhdUnsFkK7Q1r8aAV5PEStyDXZ2jgGG9WHJTnV6cgZ
11jJN91i2hgN1EY7iSZSceBkKitVBop1LnyR9Pf97QidECdYBps
11q29wh8GNSFTmrdgYwcurM8MFYHEr6WmZCDbxzSYiDfAJaTjnj
11Q4BbQHz59kMYypmFsQGZSqjeCPB2CiwWzqMhKooX42KfcF5vY
11qhjFUnTan6NSzsej9cttTDcdizxDvXnN1g8Fd3eD4HmvUjUQy
11RMqcrU7eqa23CKxjAHx39FMhBAZu2qroztsx3Tbu8H9LVA99H
11vj85XBcvVpdYwfTKjRXksJNn9HCsjkx5iRBkJyKC5U3ncmFgD
11XNPSdCSigmnLSzpRSqwFuEJ3fGodQCVd4kbm6bkCquqkdi3as
11XzieGg8ZriXDiRHJmpGZNdgcjtd7DD1uz4BbA7MYCcfp94ebk
Discord Handle
No response
Reason(s)
24 heltecs and pantherX HS cluster that does not witness the true network, just themselves
This cluster of 24 via 3 witness hops:

The true local network:

This cluster shown via ETL query:

Local network ETL query - showing wide variety of brands (image above):

High clustering and clique sizes.
Asserted in 0.0 days

The devices reported by this account are all produced by the same company, which should be a vicious report and vicious business competition.

The devices reported by this account are all produced by the same company, which should be a vicious report and vicious business competition.

I've peer reviewed the hotspots they've submitted. I've left out the issues from the user that didn't have adequate data.


Emoragaf/plug router handle non router requests

Change description
handles request without conn.private.plug_route info

sets path tag as Unknown for those cases
allows ignoring a request by comparing the :ignore_routes option values against the request conn.request_path when no conn.private.plug_route is present

What problem does this solve?
https://github.com/akoutmos/prom_ex/issues/95
Example usage
Plugin usage continues to be the same

Weird diff, the target isn't accurate.  It shows changes that aren't actually going to happen, so the conflicts would have to be fixed.  IMHO we should just wait for upstream.

we'll wait for a fix in upstream


issue 2159: apoc.load.ldap add support spaces in a DN when loading credential information from conf

Added test case to cover issue 2159 case
Fixed bug with apoc.static.ldap key (in LoadLdap.java)

Issue closed


Prepare to release v0.3.2

Prepare to release v0.3.2

Pull Request Test Coverage Report for Build 862711254cb193ddeb7cf4a17e0973915153c580-PR-57

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 722ab58974175084878463d0a107b73b2fabc8e2:
0.0%

Covered Lines:
302

Relevant Lines:
302

💛  - Coveralls


Add report for DOIs to process

Add a report to the UI that shows DOIs awaiting processing from dois_ti_process collection

Currently, if there are no DOIs to process, it shows the "No DOIs found" warning screen. You and I know that this is a good thing, but a librarian or manager might think it's an error, or something has gone wrong. Would it be easy to make this page a little friendlier-looking? Don't bother if it's not easy.


Use historical nodes to host shared cache

There is an idea that instead of memcached, historical nodes themselves can be used to host shared, not only their local cache. Since there are a lot of them, only a small fraction of each historical node's memory can be devoted to the shared cache.
Such colocation can also simplify Druid setup because no separate fleet of memcached nodes would be required.

awesome idea
I was playing around with this using Apache Ignite
https://ignite.apache.org
Since then my mind keeps coming back to the thought how great it would be for many usecases if Druid had an underlying colocated cache.
Brokers could leave their individual queries or query state in the cache and one could then easily consult that cache to see the total number of executing queries. Zookeeper is oldfashioned, using REST endpoints is cumbersome...but a ready-made distributed cache or better to say an underlying generic compute grid like Ignite would be quite a nice platform foundation. Distributed clojures. Data Streamers... All so low-level that one could build on it.
With Ignite I could get the above distributed co-located cache and one can also optionally configure Ignite to write through to a remote section of itself too, so having a second-level cache, which in turn one can configure with optional persistence. Its quite nice to use such a product as a foundational component...

It seems for this case it would be nice to choose a 'small' (few dependencies) and embeddable (same JVM as the historical) distributed cache. Is Ignite like that? (Or are there others that are?)

Historical nodes are designed for restarts, including restarts of large groups of nodes nearly at the same time. We don't want such restarts to disrupt the quality of service. So the cache should be replicated at least 2x. This requirement makes simple local embeddable cache insufficient (unless we want to basically solve again all the hard problems with reliable replicated cluster services).
So Ignite looks to me like a more reasonable solution.
@devozerov would appreciate your opinion.

A related paper: https://blog.acolyer.org/2019/06/24/fast-key-value-stores/


⚠ Jenkins Plugins Artifactory has degraded performance

In 7093b98, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1317 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 9b756ca after 12 minutes.


StringValues should always be passed as in (and a readonly struct)

This makes it more efficient by skipping the copy before passing it by reference; which is what happens with pass by value.
However it should also be marked as a readonly struct https://github.com/aspnet/Home/issues/2856

(Assigning to @halter73  who's already reviewing the PR)


Add rules for curly braces and square brackets

"squar" typo intended. feels better when these three are the same size

@dunstontc Will this be merged? :) I'd love to be able to change curly braces colors here :)


crash data

Hi, any idea what this crash data could be from? I have the docker container set to --restart=always, but it did not..
/usr/lib/node_modules/homebridge/node_modules/mdns/lib/advertisement.js:56
stderr
19:04:49
  dns_sd.DNSServiceRegister(self.serviceRef, flags, ifaceIdx, name,
stderr
19:04:49
         ^
stderr
19:04:49
stderr
19:04:49
Error: dns service error: unknown
stderr
19:04:49
    at Error (native)
stderr
19:04:49
    at new Advertisement (/usr/lib/node_modules/homebridge/node_modules/mdns/lib/advertisement.js:56:10)
stderr
19:04:49
    at Object.create [as createAdvertisement] (/usr/lib/node_modules/homebridge/node_modules/mdns/lib/advertisement.js:64:10)
stderr
19:04:49
    at Advertiser.startAdvertising (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Advertiser.js:43:30)
stderr
19:04:49
    at Bridge.Accessory._onListening (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:498:20)
stderr
19:04:49
    at emitNone (events.js:80:13)
stderr
19:04:49
    at HAPServer.emit (events.js:179:7)
stderr
19:04:49
    at HAPServer._onListening (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:169:8)
stderr
19:04:49
    at emitNone (events.js:80:13)
stderr
19:04:49
    at EventedHTTPServer.emit (events.js:179:7)

@TheHavocHero
This is outside of the plugin, inside the HomeBridge core library. I would see if they can help. You can find the root project here: https://github.com/nfarina/homebridge
Looking at the stack it looks like it is a failure in the mdns node.js library. And the library looks like it is failing in startup so perhaps that's why docker isn't restarting? I don't have a lot of experience with docker so I'm not sure.
Another option would be to ask about docker compatibility at the mdns project page here: https://github.com/agnat/node_mdns

Thanks. Should have posted to the root project. Thanks for the direction.


Implemented Azure e2e tests

Implement Azure template e2e tests. Closes https://github.com/Mirantis/hmc/issues/210.

Looking at the latest test failure, my suspicion is the names aren't unique for the cluster names for each provider test and they're running over each other.  It might be worth appending a provider name to the end of the ManagedCluster that gets created for each test so they don't clobber each other and race.

@kylewuolle In the future can use try not to use force-pushes?  At least not after someone has initially reviewed your code.  It makes reviewing your code changes after a big initial review harder, you can always just squash the ending result into a single commit.

@kylewuolle please squash commits like "fix linting error" and let's verify azure part is green before we land it

@kylewuolle if you cannot reproduce the latest failure locally -- you can use try to use the tmate action: https://github.com/mxschmitt/action-tmate to live debug what's going on with the infrastructure-aws provider, it'll host a tmate session you can ssh into so you can get into the actions container and figure out potentially what's going on.