[docs][material-ui] Fix Material Icon search lag

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

Part of #41126
https://github.com/mui/material-ui/assets/77894900/a6c853ae-9b37-43a0-aa96-b3232e52701d

Hey @anle9650, thanks for working on this.
I see a problem with this implementation though:
https://github.com/mui/material-ui/assets/16889233/f1d1508a-5622-49dc-926f-e23390a779e5
It's missing keystrokes because the query value is not updated immediately. For example if I press a``s``d quick, only d is inputed. This is probably because when the d useTransition is dispatched, the a and s haven't made their way to the query variable yet, so we get setQuery('d') instead of setQuery('asd'). Does that make sense?
I would imagine the solution to be to modify useQueryParameterState, but I'm not sure how without digging deeper.
Let me know if you can think of alternative solutions having this in mind.

@DiegoAndai good catch! That makes sense. I'll try to come up with a solution. Something interesting I noticed is that I was only able to reproduce that problem when showing the keyboard viewer on my end. When I'm not showing the keyboard viewer, it seems to work fine.

I think I figured it out. setUrlValue(newValue) is the heavy UI task causing the bottle neck. setState(newValue) is the task that updates the value of the input field. By using the transition hook on setUrlValue(newValue), we prevent it from blocking setState(newValue), which allows for the input field to be quickly updated.
Lmk what you guys think!

By using the transition hook on setUrlValue(newValue), we prevent it from blocking setState(newValue), which allows for the input field to be quickly updated.

This makes sense to me. The query param seems only to be read on the initial render, so I don't think we'll have synchronization issues between the state and the query param.
@Janpot, I noticed you initially implemented the feature. What do you think of this change? I want to ensure I'm not missing context on this feature's history.

I don't believe it's setting the url value that's blocking the main thread. It rather seems to be rendering the large amount of icons in the Icons component:

We shouldn't defer the state update as it is also used to control the input. Instead, I believe we should defer the derived state that is used to render the icons:
diff --git a/docs/data/material/components/material-icons/SearchIcons.js b/docs/data/material/components/material-icons/SearchIcons.js
index fc2d1f34e1..558606fca7 100644
--- a/docs/data/material/components/material-icons/SearchIcons.js
+++ b/docs/data/material/components/material-icons/SearchIcons.js
@@ -532,6 +532,8 @@ export default function SearchIcons() {
     [theme, keys],
   );

+  const deferredIcons = React.useDeferredValue(icons);
+
   const dialogSelectedIcon = useLatest(
     selectedIcon ? allIconsMap[selectedIcon] : null,
   );
@@ -579,9 +581,9 @@ export default function SearchIcons() {
           />
         </Paper>
         <Typography sx={{ mb: 1 }}>{`${formatNumber(
-          icons.length,
+          deferredIcons.length,
         )} matching results`}</Typography>
-        <Icons icons={icons} handleOpenClick={handleOpenClick} />
+        <Icons icons={deferredIcons} handleOpenClick={handleOpenClick} />
       </Grid>
       <DialogDetails
         open={!!selectedIcon}

For me this seems to make the input responsive again while the UI is rendering. However, this doesn't solve the lag between typing and rendering the filtered icons. If we want to solve this, I believe virtualization of the icons list is on order, to reduce the amount of elements that are being rendered.

This PR → https://github.com/mui/material-ui/pull/41415 seems to be also touching on some of these aspects regarding the number of displayed icons, input responsiveness, etc. Just want to make sure we don't discuss the same thing in two places 😃 Maybe this one should be prioritized as it's a "narrower" scope than the other?!

Thanks for taking a deep look into this @Janpot 🙌🏼 your changes make sense to me
It seems that there's room to improve the solution further by optimizing the icon's rendering, for example, by reducing or limiting the amount, and also maybe adding pagination. This was also touched upon in #41415.
Also, If the goal is to improve INP, is there a way for us to measure if a change is improving it? We should figure that out before continuing to work on the solution. With that, we can test if reducing the amount of icons rendered improves the score.
Besides that, I think we should point this PR to the next branch when that's created next week.

Also, If the goal is to improve INP, is there a way for us to measure if a change is improving it?

I suppose we could use the react profiler. e.g. comparing typing "foo" in the empty box:

https://mui.com/material-ui/material-icons/ ~250ms render

https://deploy-preview-41330--material-ui.netlify.app/material-ui/material-icons/?query=foo all renders stay below ~60ms

@Janpot @DiegoAndai
I’ve virtualized the icons using react-virtuoso, resulting in a noticeable performance improvement (see the screen recording below):
https://github.com/user-attachments/assets/d8bb4e29-7536-4c31-b247-f12ae824a7b1
I’ve also changed the scrolling to be within the Search Icons container, which I think looks better than scrolling the entire page.
Additionally, in commits https://github.com/mui/material-ui/pull/41330/commits/ba2e45cde6906dfd513fa9b87fb387994814cd5f and https://github.com/mui/material-ui/pull/41330/commits/e083e6008db10a556a52def51c9064dc6bc86bf8, I fixed an intermittent bug where the page becomes unclickable after closing the Icon Dialog. The issue is linked to react-transition-group, as mentioned in https://github.com/mui/material-ui/issues/32286. I used a workaround to resolve it, though it doesn’t occur consistently and wasn’t captured in the recording. You can reproduce it with these steps:

Visit the https://next.mui.com/material-ui/material-icons/ or https://mui.com/material-ui/material-icons/.
Click an icon to open the Dialog.
Close the Dialog by clicking outside or on the close button.
The page may become unresponsive to clicks or scrolling, with the Dialog element still present in the DOM and the Backdrop having opacity: 0.

This issue isn’t directly related to this PR. I can revert the change and address it separately if needed.
URLs to test:

Before: https://next.mui.com/material-ui/material-icons/
After: https://deploy-preview-41330--material-ui.netlify.app/material-ui/material-icons/?theme=Two+tone

Please also test all changes on a mobile device.

Running lighthouse on these show barely any improvement. We should further profile the page load. I expect the inclusion of @mui/icons-material in this page bundle to be heavy on the page loading. Perhaps we should try how it feels when we use code splitting and load this module through dynamic import?

I expect the inclusion of @mui/icons-material in this page bundle to be heavy on the page loading. Perhaps we should try how it feels when we use code splitting and load this module through dynamic import?

Yes, I also noticed this. It's a good idea. This is especially important because, according to google analytics, this is the most visited page consistently.
As for the search performance improvements in this PR, it's ready for review.

I won’t cherry-pick this to master since we're likely releasing stable v6 soon, and the docs will be merged into mui.com.

If the goal is to improve INP, is there a way for us to measure if a change is improving it?

@DiegoAndai We can use https://chromewebstore.google.com/detail/web-vitals/ahfhijdlegdabablpippeagghigmibma?hl=en.

I got introduced to it at https://www.youtube.com/watch?v=KZ1kxzsJZ5g&t=223s. After 28 days, we can also use the field data from https://pagespeed.web.dev/ (aggregated data by Chrome sent anonymously).

Before: https://deploy-preview-41329--material-ui.netlify.app/material-ui/material-icons/?query=ale INP 1,000ms without much struggle to trigger
https://github.com/user-attachments/assets/8e058a9a-8e71-4b2d-8a2f-bd3670e3ab8c
After: https://deploy-preview-41330--material-ui.netlify.app/material-ui/material-icons/
https://github.com/user-attachments/assets/9789a1ff-e3ac-41c7-adc7-45cc481c0abf
The INP problems seem solved. Pretty cool!
A related issue on this: https://github.com/mui/mui-x/issues/9657.

Now, the problems:

Icons are no longer available when searching with Algolia the initial DOM output. Similar outcome with Google search. https://v4.mui.com/components/material-icons/#material-icons

"burger" / "facebook", people searching for those icons: https://dashboard.algolia.com/apps/TZGZ85B9TB/analytics/no-results/material-ui?from=2024-08-01&to=2024-08-31

We might want to restore this feature. It could be simply about rendering a hidden list of <ul><li> for Algolia.

I'm not sure about the virtualization UX. I'm not so convinced about the double scrollbar. When I have a large screen and have a bunch of results, I want to be able to scan, I can't do this anymore. It's kind of OK now, so fair, but I can't help myself thinking how is SvgIcon so slow that it doesn't work? When I look at the Chrome performance timeline, I mostly see MUI System that are slow. Removing the virtualization would allow us to better measure progress toward making it fast. It would also fix 1. It makes sense to me to do it.

We can't do useMemo to use the query, it hydration mismatch:

To fix this.

We use useDeferredValue but we don't memo the children, so it harms the performance since it means we render x2. If we want to improve them, we need to:

diff --git a/docs/data/material/components/material-icons/SearchIcons.js b/docs/data/material/components/material-icons/SearchIcons.js
index d8378f881f..00f470e74e 100644
--- a/docs/data/material/components/material-icons/SearchIcons.js
+++ b/docs/data/material/components/material-icons/SearchIcons.js
@@ -130,6 +130,7 @@ const StyledSvgIcon = styled(SvgIcon)(({ theme }) => ({
 }));

 const ListWrapper = React.forwardRef(({ style, children, ...props }, ref) => {
+  console.log('ListWrapper');
   return (
     <div
       ref={ref}
@@ -141,6 +142,9 @@ const ListWrapper = React.forwardRef(({ style, children, ...props }, ref) => {
   );
 });

+const virtuosoComponents = { List: ListWrapper };
+const virtuosoStyle = { height: 500 };
+
 function Icon(handleOpenClick) {
   return function itemContent(_, icon) {
     const handleIconClick = () => {
@@ -528,6 +532,9 @@ export default function SearchIcons() {
   const deferredQuery = React.useDeferredValue(query);
   const deferredTheme = React.useDeferredValue(theme);

+  console.log('deferredQuery', deferredQuery, query)
+
+  const itemContent = React.useMemo(() => Icon(handleOpenClick), [handleOpenClick]);
   const isPending = query !== deferredQuery || theme !== deferredTheme;

   const icons = React.useMemo(() => {
@@ -604,10 +611,10 @@ export default function SearchIcons() {
           icons.length,
         )} matching results`}</Typography>
         <VirtuosoGrid
-          style={{ height: 500 }}
+          style={virtuosoStyle}
           data={icons}
-          components={{ List: ListWrapper }}
-          itemContent={Icon(handleOpenClick)}
+          components={virtuosoComponents}
+          itemContent={itemContent}
         />
       </Grid>
       {/* Temporary fix for Dialog not closing sometimes and Backdrop stuck at opacity 0 (see issue https://github.com/mui/material-ui/issues/32286). One disadvanta
ge is that the closing animation is not applied. */}

It's documented in https://react.dev/reference/react/useDeferredValue#deferring-re-rendering-for-a-part-of-the-ui. So we solved INP with react-virtuoso, not by using suspense features.

How about we revert this and instead only go with deferred value?
We can fix the slow render another time but still get a search input that responds quickly to events. We are nowhere near having a performance issue on https://v4.mui.com/components/material-icons/, even if we x2 the time because there are x2 more icons now. So to me, the red flag is Material UI v5, we have to fix this regression we introduced 3 years ago, we sacrificed it for dynamic props, and now CSS variables mean we don't need this anymore.
@romgrk has been looking a bit at it lately.

How about we revert this and instead only go with deferred value?

💯

How about we revert this and instead only go with deferred value?

Agreed, approving this was poor judgement on my side. Reverting back to the changes proposed in https://github.com/mui/material-ui/pull/41330#issuecomment-1997454243

@Janpot Thanks for handling it. I didn't realize it would affect global search, even on Google.

I'm not so convinced about the double scrollbar. When I have a large screen and have a bunch of results, I want to be able to scan, I can't do this anymore.

I think you're aiming for something like this: https://fonts.google.com/icons. However, we need the double scrollbar due to other content on the page, like the API section. IMO, It's better than the old version - https://v5.mui.com/material-ui/material-icons/, where you had to scroll all the way down to reach the API section. Maybe rendering a large container would be better. I'll leave it to you guys to decide.


removed gitlab-ci

#573

@ari-hacks Thanks a lot for your contribution to Appsmith! 🎆
Hope you pick up more issues from our list.


Finish spack-stack installations on Hercules, Gaea C5, Nautilus

Description
Preliminary configurations exist for Hercules, Gaea C5, Nautilus. We need to finish installing spack-stack-1.3.1 on these platforms and provide the missing documentation.
Checklist:

Installation users/locations?

[ ] Gaea C5: I believe we can install next to the "ordinary" Gaea C3/4 stack, but I don't think there is a role account yet (to check
[ ] Hercules: still need to check if we (@ulmononian and I) have access to the epic role account. If yes, then we are set. install location is next to the orion stack
[ ] Nautilus: not yet determined

Necessary external packages for spack-stack installed

[ ]  Gaea C5 ???
[x]  Hercules (but need to be reinstalled in role account space)
[ ]  Nautilus

spack-stack-1.3.1 installed

[ ]  Gaea C5
[ ]  Hercules
[ ]  Nautilus

Successful tests with jedi-bundle / ecflow server+gui

[ ]  Gaea C5
[ ]  Hercules
[ ]  Nautilus

Where are we at in terms of installation users/locations?

Where are we at in terms of installation users/locations?

Hercules: still need to check if we (@ulmononian and I) have access to the epic role account. If yes, then we are set. install location is next to the orion stack
Gaea C5: I believe we can install next to the "ordinary" Gaea C3/4 stack, but I don't think there is a role account yet (to check
Nautilus: not yet determined

Where are we at in terms of installation users/locations?

* Hercules: still need to check if we (@ulmononian and I) have access to the epic role account. If yes, then we are set. install location is next to the orion stack

* Gaea C5: I believe we can install next to the "ordinary" Gaea C3/4 stack, but I don't think there is a role account yet (to check

* Nautilus: not yet determined

(good point, I added this to the checklist in the issue description)

just checked and i do have access to the epic role account on hercules. to confirm, we want hercules done parallel to the orion UE installs (as you did spack-stack-1.3.0-casper parallel to the cheyenne installs)?

Where are we at in terms of installation users/locations?

* Hercules: still need to check if we (@ulmononian and I) have access to the epic role account. If yes, then we are set. install location is next to the orion stack

* Gaea C5: I believe we can install next to the "ordinary" Gaea C3/4 stack, but I don't think there is a role account yet (to check

* Nautilus: not yet determined

(good point, I added this to the checklist in the issue description)

@climbfuji just checked and i do have access to the epic role account on hercules. to confirm, we want hercules done parallel to the orion UE installs (as you did spack-stack-1.3.0-casper parallel to the cheyenne installs)?
also, should i install only 1.3.1?

Yes, I think 1.3.1 is good on Hercules. Be prepared for wgrib2 to fail (everything else should build). But you first need my PR that updates the hercules site config - next week (I am traveling this week).

@ulmononian FYI this is the PR that I was referring to, contains also the new hera openmpi: https://github.com/NOAA-EMC/spack-stack/pull/555 - to be finalized on May 1.

@ulmononian FYI this is the PR that I was referring to, contains also the new hera openmpi: #555 - to be finalized on May 1.

ah, thanks for the heads up @climbfuji! i'll manually add in your update to the site config for now and install what i can. based on https://github.com/NOAA-EMC/spack-stack/issues/552, it looks like a fix for the wgrib2 failure has not yet been identified?
hope the travel times have been enjoyable!!!

Correct, wgrib2 failure is still an issue on Hercules. Thanks for doing this!

@ulmononian Note that I need to provide the instructions for installing the 3rd party dependencies for spack-stack on Hercules in the documentation, then build those in the role account space (right now they are in my personal directory and need to be removed), and then we can install the "official" spack-stack-1.3.1 .

@ulmononian Note that I need to provide the instructions for installing the 3rd party dependencies for spack-stack on Hercules in the documentation, then build those in the role account space (right now they are in my personal directory and need to be removed), and then we can install the "official" spack-stack-1.3.1 .

@ulmononian I am doing this now

@areineke For Nautilus, can you please let me know which compiler and MPI library you want me to use?


Add transform that can be applied (possibly in place) to a set of columns usually of the same data type

A function that takes as inputs a dataframe, a set of columns, a Spark SQL function where the SparkSQL function is applied to the set of columns and if the set of columns is null then the Spark SQL function is applied to all columns in the dataframe. Example would be to apply the trim() function to all columns of type string. Another would be to replace all empty strings with null.


Error with installation command

Summary of the problem
The installation command given in the README is GO111MODULE=on go install
That command gives me an error and does not seem to compile or install storrent.
My configuration
Windows 10
go version go1.17.2 windows/amd64
Error log
error.log

full error output:
In file included from C:/Users/MyUsername/scoop/apps/gcc/current/lib/gcc/x86_64-w64-mingw32/9.3.0/include/immintrin.h:55,
from C:/Users/MyUsername/scoop/apps/gcc/current/lib/gcc/x86_64-w64-mingw32/9.3.0/include/x86intrin.h:32,
from C:/Users/MyUsername/scoop/apps/gcc/current/x86_64-w64-mingw32/include/winnt.h:1554,
from C:/Users/MyUsername/scoop/apps/gcc/current/x86_64-w64-mingw32/include/minwindef.h:163,
from C:/Users/MyUsername/scoop/apps/gcc/current/x86_64-w64-mingw32/include/windef.h:8,
from C:/Users/MyUsername/scoop/apps/gcc/current/x86_64-w64-mingw32/include/windows.h:69,
from C:/Users/MyUsername/scoop/apps/gcc/current/x86_64-w64-mingw32/include/winsock2.h:23,
from C:/Users/MyUsername/scoop/apps/gcc/current/x86_64-w64-mingw32/include/ws2tcpip.h:17,
from dht\dht.go:40:
C:/Users/MyUsername/scoop/apps/gcc/current/lib/gcc/x86_64-w64-mingw32/9.3.0/include/avx512fintrin.h: In function '_mm512_mask_reduce_mul_ps':
C:/Users/MyUsername/scoop/apps/gcc/current/lib/gcc/x86_64-w64-mingw32/9.3.0/include/avx512fintrin.h:15666:3: internal compiler error: Segmentation fault
15666 |   __A = _mm512_mask_mov_ps (_mm512_set1_ps (1.0f), __U, __A);
|   ^~~
libbacktrace could not find executable to open

Any advice on how I can build this?

It looks like the C compiler has crashed.  Perhaps your installation of mingw32 is broken?


Update playlist to use new disable features

FIxes #2361
-Harper Moon from Outreachy.

Grinder jdk11/openj9/x86_linux: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/8110/

Probably need to double check the disabled cases like https://github.com/AdoptOpenJDK/openjdk-tests/blob/master/openjdk/playlist.xml#L89, which disabled both openj9 and ibm impl  <impl>ibm</impl> and <impl>openj9</impl> by limit impl to hotspot only <impl>hotspot</impl>.
When using the new disable feature the logic changes from positive limit to negative exclude. So should we think about disable impl=ibm too? That is :
  <disabled>
    <comment>https://github.com/eclipse/openj9/issues/10757</comment>
      <impl>openj9</impl>
      <impl>ibm</impl>
  </disabled>

@smlambert

I apologize for the multiple commits. It has been quite confusing for me to fix the indentation because the file uploaded on github would look different from what I see on my code editor, so it took me multiple tries to figure it out. I would appreciate it if you could review the most recent file.

@llxia @renfeiw - regarding https://github.com/AdoptOpenJDK/openjdk-tests/pull/2438#issuecomment-812097458

presume we do actually need to specify <impl>ibm</ibm> also?
is that allowable format for disabling 2 impls by this exclude feature?  (or does it require 2 separate disabled tags?)

is that allowable format for disabling 2 impls by this exclude feature?  (or does it require 2 separate disabled tags?)

It requires two disabled tags, as the relationship inside  is AND and the relationship between  is OR.

@jwnmoon - please add second disabled block for ibm to each test that you have updated for openj9
So, where you have put
              <disabled>
                      <comment>https://github.com/eclipse/openj9/issues/10757</comment>
                      <impl>openj9</impl>
              </disabled>

please put
              <disabled>
                      <comment>https://github.com/eclipse/openj9/issues/10757</comment>
                      <impl>openj9</impl>
              </disabled>
              <disabled>
                      <comment>https://github.com/eclipse/openj9/issues/10757</comment>
                      <impl>ibm</impl>
              </disabled>

Tested in Grinder: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/8153/ - all pass.

@jwnmoon - just need to resolve the conflicts in your branch.  Thanks!


Navigate a manuscript or book's structure by "range" (table of contents, index, list of parts within manuscript)

Who it's for
Collections researchers
User story
To evaluate a book for relevant content, users

Look for the first 'Contents' page then scan through the chapters list spread through few pages
Find a relevant chapter and wants to view the chapter
Read few pages to evaluate if it's relevant for their search

Problems to solve
Current implementation has the following limitations.

Need to visually identify the content pages
Require many back and forth to get to the chapter
Need to zoom in/out then paginate to read a few pages
Difficult to navigate to the chapter using image number

The digitised materials often come with structural metadata that we want to expose as a way of navigating to a part.
For example,

Books are marked up with Covers, Table of Contents, Index
Books may also have multiple volumes
Manuscripts may be marked up with 'parts'. These work like chapter headings, but they are actually representative of discrete 'works' bound into one volume.

These 'parts' need to be demarcated and able to be navigated to, either in the viewer, on the /works page, or both.
View from the UV

Multi-volume book: https://wellcomelibrary.org/item/b18031511
Manuscript examples:
https://wellcomelibrary.org/item/b19553146 = https://wellcomecollection.org/works/gftr4sa9
https://wellcomelibrary.org/item/b19241380
TODO

[ ] Data investigation to understand where data sits and how we might render it on screen

No design until we do this.
Implementation
Acceptance criteria
Testing and tracking

Have you talked to Tacey?
Test plan
Will you need to set up additional tracking?
What is the expected life span for tracking?

Measurement
Related KPIs (e.g. breadth of collection accessed, reading time, etc.)
Other considerations
<---Delete as appropriate--->

Impact on URL design
Cardigan documentation

@gestchild and @davidpmccormick to read ticket and ask JPB any questions

Before Heesoo left, she shared a few relevant ideas here with mockups:https://github.com/wellcomecollection/wellcomecollection.org/issues/4589#issuecomment-510952702

@jtweed – are you (or Christy or Ashley) able to provide an exhaustive list of what data we could expect to be able to get out of the METS?
So far, I think we have thumbnails and license information which has been directly added to works in the catalogue api.
We currently also get certain structural information like title page, table of contents, front cover etc. from the IIIF manifest. It's not clear to me whether this information should/could ultimately live directly on a work in the catalogue api, or whether we should continue to fetch it from the IIIF manifest.
We are specifically interested in solving the problem of providing page numbers for books where we currently only provide image numbers.
Also, it would be good to have any information about how manuscript sections are delineated (e.g. as they are in the uv).

Hi @davidpmccormick you should treat the IIIF Presentation API as the source for all data that describes the structure of a digitised item, which will have indeed come from data in the METS files produced during digitisation. We will only add things to the Catalogue API where they are needed for search.
Page numbers are in the IIIF as labels on the canvases, eg in this example:
https://wellcomelibrary.org/iiif/b28083271/manifest
Other sections within the work, eg cover, table of contents, parts of a manuscript will come through as structures that link to a range of canvases, outside of the usual sequence. If it helps there are also an enumerated list of viewing hints in IIIF that will help you to determine if something is paged.
As to how sections are determined and what will be added in what cases, @aray-wellcome may be better placed to answer that.

In order to evaluate this feature with respect to overall search experience, we need to agree what success looks like. Is it

Users use this at all

or is it

User use this, find what they need more quickly and so spend less time on /works pages?

Initital mobile view prototype: Item page mobile view
cc @davidpmccormick


Whenever a lengthy message is returned, the UI updates become increasingly sluggish.

Whenever a lengthy message is returned, the UI updates become increasingly sluggish, leading to an unpleasant user experience. As a novice, I have been unable to determine the root cause of this problem and would greatly appreciate your assistance in resolving it.

Hi, thanks for reporting. I was able to reproduct this and find the root cause. Everytime message row is updated with text, the entire ContentView got recomputed.
I've found the solution to fix this and plan to create a video for it as well as adding ability to stop streaming response using Task Cancellation!


Install as a Theme Component

Installation and updates would be easier with a Theme Component.
I just did a successful installation this way and I can provide a PR.
But before tackling this I would like to know if this PR has any chance to get merged.
What do you think anvitks, is it the right way to go?

@RoneoOrg thank you for reaching out. Yes, this seems like a good way to install or include the shortcode.
Unfortunately I do not have experience of installing the shortcode this way.
If you can share the link to a plugin that is installed this way or if you can raise the PR then we can definitely explore the option of this method of installation.

Hi @anvithks ,

If you can share the link to a plugin that is installed this way or if you can raise the PR then we can definitely explore the option of this method of installation.

I made a first draft in this branch: https://github.com/RoneoOrg/hugo-shortcode-roneo-embed-pdf/tree/theme-component
Feel free to test and criticize as much as you want.
I did some other tweaks BTW, may some bits interest someone
Cheers

I tried this and it so very simple!
This can be the standard way of installation.


Convert even more k8s tests to unit tests

I forgot we have //go:build k8s throughout the codebase.  This converts a bunch more of those to integration tests.
Testpachd can now run the S3 gateway and provide the tests with a fake k8s client (which is good enough for the secrets tests).
Jira: MLDM-36

It seems like the bazel-privileged-tests target is failing to build, circle seems like its getting a 255 error code.

It seems like the bazel-privileged-tests target is failing to build, circle seems like its getting a 255 error code.

Yeah I'm working on it.  It's because the docker containers needed by the tests need to be started before the test starts (for privileged tests) and this is the first test that needs minio, so that support is being added.

It seems like the bazel-privileged-tests target is failing to build, circle seems like its getting a 255 error code.

OK, I finally sorted this out.  This should make the non-privileged tests more reliable as well.


Logging from a mobile client

I'm evaluating Swift packages that support logging to CloudWatch via swift-log. I've taken a brief look at this one and I'm wondering whether the maintainers would say that this package could be used from an iOS app to post logs to CloudWatch? Or is it not meant to be used that way?
It doesn't appear to actually support sending the logs to CloudWatch. Rather, it just writes out to TextOutputStream. Is that true, or am I missing something?

This package does not send logs directly to CloudWatch. This package is used within AWS container and assumes that container has CW agent running.


New VC template (Attributes)

User should be able view attributes that are part of the template/schema selected.
User should be able to add custom attributes.
User should be 'add' to attributes to the template.

Can i work on this issue ?

Can i work on this issue ?

We are planning to work on this after milestone 1 is completed


hashid.org

When finished, just email the guy from hashid.org<EMAIL_ADDRESS>and tell him to add it to the "Are there any alternatives?" section of the site.

Will do. Your port was of great help to me, thanks!


make node ps default to self in swarm node

- What I did

change function name: newPSCommand  into newPsCommand , runPS into runPs to keep consistency
make command docker node ps default to list tasks on itself. fix #25175
modify some related docs.

- How I did it
- How to verify it
- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)
Signed-off-by: allencloud<EMAIL_ADDRESS>

I like this change, /cc @aluzzardi @stevvooe

Let's just be clear here: this will only ever work on manager nodes. I want to avoid the confusion that may come with running this command on a worker node and not getting output.
This also reinforces the unfortunate illusion that the docker client always runs from a node. Without arguments, connecting over HTTP, this will display the processes for the node to which the HTTP connection is made. In general, this is slightly confusing but I am not sure if we can get away from that.

@stevvooe @vieux
Thanks for your feedback.
First, I think no matter docker node ps or docker node ps self, users can always misuse this command on a work node. So, I think we should add some instruction about manager in the command description.
Second, I agree that self argument is really confusing if a user uses HTTP.

Any update? @vieux @stevvooe @aluzzardi
Currently I do not think SELF is a good choice in the docker CLI side.

Should this default be set daemon-side, and not in the client?

Should this default be set daemon-side, and not in the client?

No, this should be all client-side. The daemon should avoid dealing in these niceties in case we want to change it in the future.
LGTM
I'd like to hear what @dnephin @aanand have to say here.

LGTM

Any update ? @vieux @stevvooe @dnephin @thaJeztah @crosbymichael

code LGTM 🐮

One nit (else is horrible)... but LGTM
Moving to docs review.

docs LGTM 🐸

LGTM
Could we follow this up with a PR to make it easy to provide several nodes?

@stevvooe
Sorry for my not following you by make it easy to provide several nodes？ Could you explain more on that?
Thanks a lot.

@allencloud docker node ps node-1 node-2 node-3

@stevvooe
I can try to do that.
With another brand new PR after this merged in,
or with a following commit in this old PR?

@allencloud Another PR, please. Let's get this one merged.

@stevvooe  Thanks. OK , I will do that after merged.

PTAL @stevvooe @vdemeester @dnephin
Could we merge this, and follow this with another PR?

LGTM


Firmware update target fix

Firmware update target missing function error (function moved?)

Thank you! That's exactly the case. Thanks for the PR!


Added python gaussian elimination

With no use of numpys array datastructure. This might be a contested decision.

Oh boy. All the mistakes I found in your code are also in @leios's Julia code. This might take a while :)

Yup. This is a direct port of the Julia code. Might create an issue to fix that? BTW, the exact same errors appear in #195

Yeah I'll open an issue. Let's keep this PR in the fridge for a bit if you don't mind.

I sniped you and just opened an Issue

@jiegillet is right, the form we have in the AAA is not general; however, it is the most common implementation of the algorithm I could find. The current implementation solves a system of equations, which is what the chapter was set up to do. It can also find the determinant; however, it lacks the capability of finding the ranks and bases of a matrix, which means that it cannot be used for all cases.
I'm currently looking at how to update the code from here.

@leios I was thinking about it yesterday, and yes, if the problem you are working on is solving a system of equations, then yes, the algorithm is perfectly adequate. However, Echelon and Reduced Echelon Forms have more applications than that, for example finding the rank of a matrix. It seems a little bit wasteful to implement the general case 90% of the way and stop there.

@jiegillet Yeah, the issue #201 is probably the best place to discuss this.

Update: the Julia code and chapter were updated and merged. Have a look and change your code accordingly.

Still alive? I will close this PR if it's stale.


Investigate & Design support for restarting Splinter after a quiesced shutdown. Save / restore config options from super block

We need a way for an application to close and resume Splinter instance, without having to re-specify basic config options such as page size, extent size, key/value-specifications and so on. This is a basic bootstrapping feature needed to simplify customer deployments of Splinter.
Initially prototype design & code changes needed to make this work. Once this is firmed-up, come up with the final designs to manage configuration items on-disk, to facilitate this stop / restart usage model.
This issue is mostly a POC, so code developed here may not be checked-in as-is. Investigate where this takes us.

Update: A prototype version of changes to Splinter config mgmt structs was developed in the agurajada/243-RebootConfigPOC branch, which has been pushed to GitHub. The work was done in Feb 2022, so is on a 1+year old version off of /main.
The work was never productized and seriously reviewed for integration to /main, so the code has gotten crufty. Interfaces have changed, moved-on. But the bulk of the changes starting from this commit below in that dev-branch would be of some use if we ever wish to resurrect this capability.
24fa3b1 Aditya Gurajada 1 year, 1 month ago Fri, 11-Feb-2022, 01:49:07 AM (Authored: Tue, 08-Feb-2022, 07:45:57 PM)
 (#243) Support reboot of Splinter device / KVstore reopen; restore config params

8fada06 Aditya Gurajada 1 year, 1 month ago Fri, 11-Feb-2022, 01:48:19 AM (Authored: Tue, 08-Feb-2022, 01:05:12 AM)
 Minor rework of comments; #include files list.

7daea65 Aditya Gurajada 1 year, 1 month ago Fri, 11-Feb-2022, 01:48:19 AM (Authored: Mon, 07-Feb-2022, 11:27:05 PM)
 Rearrange structs to introduce default_data_config{} and default fn ptrs.

ccae414 Aditya Gurajada 1 year, 1 month ago Fri, 11-Feb-2022, 01:47:31 AM (Authored: Sat, 05-Feb-2022, 11:49:07 PM)
 Initial cut - lay down the ground for actual cfg-mgmt changes.


How to reshape input size of engine after CreateMaceEngineFromCode?

I have a full-convolution network named PNet(MTCNN used), and want to run it on multi-scale, so I need reshape the input size of PNet like caffe::Net::Reshape(), does mace support this implementation?
I only found three member functions of mace::MaceEngine without reshape

@peyer What do you mean by multi-scale? Different size of inputs or you model need reshapes to generate different scale of feature maps?
If it's the 1st case, you can use the max size of inputs.

@llhe I am sorry about not explaining clearly. I just want to know that if I have a  FCN(Fully-Convolutional Nets) with different input size，how should I modify the config file?
However, I have got your advice at#124. Thanks a lot.
Another question about HexagonNN, I have followed your provided method of compiling nnlib, but only obtained dynamic file without an executive file named graph_app, how should I do next?

You do not need do nothing about yaml, just pass input with different size to engine run interface.
About mace-with-hexagonNN, you do not need executive file graph_app, HexagonNN is only compiled to generate an nn-skel.so. You can push the so to the vendor lib of phone as is shown in nnlib README. Then you can compile and run your model with MACE.
See also https://mace.readthedocs.io/en/latest/faq.html

@liyinhgqw OK, I will try. Thanks so much


Deployment example: no configuration has been provided

While I apply alb-ingress-controller, I have met an error, main.go:69] invalid configuration: no configuration has been provided.
(https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.2/docs/examples/alb-ingress-controller.yaml - required field updated)
I don't know why, but maybe the example yaml lacks configuration?
What do I add to above .yaml more for deploying alb-ingress-controller?
My environment
EKS.1.13, a cluster and cluster nodes have only private subnets.
I followed this guide except for AWS_ACCESS_KEY part.
(https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/walkthrough/echoserver/#deploy-the-alb-ingress-controller)

Instead, I made iam role for alb controller to which the trust relationship of cluster node's iam role  is added and the alb controller policy is attached.
(https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.2/docs/examples/iam-policy.json)

Hey @jsnick, I presume you have resolved this issue, could you elaborate on how you did that? I am facing exactly same error

I installed it by using this, helm chart
Refer to my command, if you want.
helm install incubator/aws-alb-ingress-controller \
  --set clusterName=YOUR_CLUSTER_NAME \
  --set awsRegion=YOUR_CLUSTER_REGION \ # In my case, autoDiscoverAwsRegion params doesn't work but I don't know why.
  --set awsVpcID=YOUR_CLUSTER_VPC_ID \ # In my case, autoDiscoverAwsVpcID params doesn't work  but I don't know why.
  --set image.tag=v1.1.2 \
  --set resources.limits.cpu=LIMIT_CPU \
  --set resources.limits.memory=LIMIT_MEM \
  --set resources.requests.cpu=REQUEST_CPU \
  --set resources.requests.memory=REQUEST_MEM \
  --name alb-ingress-controller \
  --namespace kube-system


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 6173 ms

Resolved: Samsung performance has improved in 6e494ec.


[StorageMgmt] Rename networkAcls to NetworkRuleSet

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1494

Codecov Report

Merging #1382 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #1382   +/-   ##
=======================================
  Coverage   54.76%   54.76%
=======================================
  Files        3052     3052
  Lines       76806    76806
=======================================
  Hits        42062    42062
  Misses      34744    34744

Impacted Files
Coverage Δ

...storage/v2017_06_01/models/metric_specification.py
30.76% <ø> (ø)
:arrow_up:

...azure/mgmt/storage/v2017_06_01/models/dimension.py
66.66% <ø> (ø)
:arrow_up:

...storage/v2017_06_01/models/virtual_network_rule.py
62.5% <ø> (ø)
:arrow_up:

...mgmt/storage/v2017_06_01/models/storage_account.py
100% <100%> (ø)
:arrow_up:

..._06_01/models/storage_account_update_parameters.py
100% <100%> (ø)
:arrow_up:

..._06_01/models/storage_account_create_parameters.py
100% <100%> (ø)
:arrow_up:

.../azure/mgmt/storage/v2017_06_01/models/__init__.py
100% <100%> (ø)
:arrow_up:

...gmt/storage/v2017_06_01/models/network_rule_set.py
55.55% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f9e3066...d2248eb. Read the comment docs.

@tjprescott FYI

In https://github.com/Azure/azure-sdk-for-python/pull/1403


HBASE-22196 Split TestRestartCluster

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
264
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 9 new or modified test files.

_ master Compile Tests _

-1
mvninstall
82
root in master failed.

-1
compile
30
hbase-server in master failed.

+1
checkstyle
73
master passed

+1
shadedjars
270
branch has no errors when building our shaded downstream artifacts.

-1
findbugs
153
hbase-server in master has 14 extant Findbugs warnings.

-1
javadoc
18
hbase-server in master failed.

_ Patch Compile Tests _

-1
mvninstall
76
root in the patch failed.

-1
compile
27
hbase-server in the patch failed.

-1
javac
27
hbase-server in the patch failed.

+1
checkstyle
73
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
275
patch has no errors when building our shaded downstream artifacts.

-1
hadoopcheck
44
The patch causes 10 errors with Hadoop v2.7.4.

-1
hadoopcheck
89
The patch causes 10 errors with Hadoop v3.0.0.

+1
findbugs
158
the patch passed

-1
javadoc
19
hbase-server in the patch failed.

_ Other Tests _

-1
unit
26
hbase-server in the patch failed.

+1
asflicense
11
The patch does not generate ASF License warnings.

1716

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/134

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux e9bde0408be5 4.4.0-141-generic #167~14.04.1-Ubuntu SMP Mon Dec 10 13:20:24 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / 387a5da462

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

mvninstall
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/branch-mvninstall-root.txt

compile
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/branch-compile-hbase-server.txt

findbugs
v3.1.11

findbugs
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/branch-findbugs-hbase-server-warnings.html

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/branch-javadoc-hbase-server.txt

mvninstall
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/patch-mvninstall-root.txt

compile
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/patch-compile-hbase-server.txt

javac
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/patch-compile-hbase-server.txt

hadoopcheck
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/patch-javac-2.7.4.txt

hadoopcheck
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/patch-javac-3.0.0.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/patch-javadoc-hbase-server.txt

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/artifact/out/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/testReport/

Max. process+thread count
86 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/1/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
298
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 9 new or modified test files.

_ master Compile Tests _

+1
mvninstall
292
master passed

+1
compile
54
master passed

+1
checkstyle
67
master passed

+1
shadedjars
275
branch has no errors when building our shaded downstream artifacts.

-1
findbugs
164
hbase-server in master has 11 extant Findbugs warnings.

+1
javadoc
35
master passed

_ Patch Compile Tests _

+1
mvninstall
249
the patch passed

+1
compile
54
the patch passed

+1
javac
54
the patch passed

+1
checkstyle
67
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
288
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
528
Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0.

+1
findbugs
167
the patch passed

+1
javadoc
32
the patch passed

_ Other Tests _

-1
unit
17503
hbase-server in the patch failed.

+1
asflicense
29
The patch does not generate ASF License warnings.

20176

Reason
Tests

Failed junit tests
hadoop.hbase.client.TestHbck

hadoop.hbase.replication.TestReplicationSmallTestsSync

hadoop.hbase.client.TestFromClientSideWithCoprocessor

hadoop.hbase.replication.multiwal.TestReplicationSyncUpToolWithMultipleWAL

hadoop.hbase.master.procedure.TestSCPWithReplicasWithoutZKCoordinated

hadoop.hbase.replication.TestReplicationDisableInactivePeer

hadoop.hbase.client.TestFromClientSide

hadoop.hbase.replication.TestReplicationSmallTests

hadoop.hbase.master.TestAssignmentManagerMetrics

hadoop.hbase.master.TestRetainAssignmentOnRestart

hadoop.hbase.master.procedure.TestSCPWithReplicas

hadoop.hbase.client.TestSnapshotTemporaryDirectoryWithRegionReplicas

hadoop.hbase.client.TestFromClientSide3

hadoop.hbase.client.TestAdmin1

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/134

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux ccca1fcc4914 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / 494a8efe5f

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

findbugs
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/3/artifact/out/branch-findbugs-hbase-server-warnings.html

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/3/artifact/out/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/3/testReport/

Max. process+thread count
5195 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/3/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

OK, let me check TestRetainAssignmentOnRestart.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
54
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 9 new or modified test files.

_ master Compile Tests _

-1
mvninstall
98
root in master failed.

-1
compile
33
hbase-server in master failed.

+1
checkstyle
77
master passed

+1
shadedjars
286
branch has no errors when building our shaded downstream artifacts.

-1
findbugs
181
hbase-server in master has 14 extant Findbugs warnings.

-1
javadoc
21
hbase-server in master failed.

_ Patch Compile Tests _

-1
mvninstall
130
root in the patch failed.

-1
compile
72
hbase-server in the patch failed.

-1
javac
72
hbase-server in the patch failed.

+1
checkstyle
81
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
293
patch has no errors when building our shaded downstream artifacts.

-1
hadoopcheck
53
The patch causes 10 errors with Hadoop v2.7.4.

-1
hadoopcheck
106
The patch causes 10 errors with Hadoop v3.0.0.

+1
findbugs
169
the patch passed

-1
javadoc
59
hbase-server in the patch failed.

_ Other Tests _

-1
unit
29
hbase-server in the patch failed.

+1
asflicense
11
The patch does not generate ASF License warnings.

1782

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/134

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux 5d5ed77bbb7c 4.4.0-141-generic #167~14.04.1-Ubuntu SMP Mon Dec 10 13:20:24 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / 494a8efe5f

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

mvninstall
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/branch-mvninstall-root.txt

compile
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/branch-compile-hbase-server.txt

findbugs
v3.1.11

findbugs
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/branch-findbugs-hbase-server-warnings.html

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/branch-javadoc-hbase-server.txt

mvninstall
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/patch-mvninstall-root.txt

compile
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/patch-compile-hbase-server.txt

javac
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/patch-compile-hbase-server.txt

hadoopcheck
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/patch-javac-2.7.4.txt

hadoopcheck
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/patch-javac-3.0.0.txt

javadoc
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/patch-javadoc-hbase-server.txt

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/artifact/out/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/testReport/

Max. process+thread count
86 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/4/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

This should be a broken machine, I've pushed again to trigger a new build. The patch for the first and the second QA run are the same, but the first one failed but the second one succeeded. And the failed module is hbase-shaded-protocol, which is not touched by the patch here.

OK, let's see what's next feedback from HBase QA.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
43
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 9 new or modified test files.

_ master Compile Tests _

+1
mvninstall
278
master passed

+1
compile
55
master passed

+1
checkstyle
68
master passed

+1
shadedjars
275
branch has no errors when building our shaded downstream artifacts.

-1
findbugs
174
hbase-server in master has 11 extant Findbugs warnings.

+1
javadoc
35
master passed

_ Patch Compile Tests _

+1
mvninstall
279
the patch passed

+1
compile
53
the patch passed

+1
javac
53
the patch passed

+1
checkstyle
70
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
277
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
571
Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0.

+1
findbugs
173
the patch passed

+1
javadoc
32
the patch passed

_ Other Tests _

-1
unit
17249
hbase-server in the patch failed.

+1
asflicense
30
The patch does not generate ASF License warnings.

19739

Reason
Tests

Failed junit tests
hadoop.hbase.quotas.TestSpaceQuotas

hadoop.hbase.util.TestFromClientSide3WoUnsafe

hadoop.hbase.client.TestSnapshotDFSTemporaryDirectory

hadoop.hbase.master.procedure.TestSCPWithReplicas

hadoop.hbase.client.TestFromClientSideWithCoprocessor

hadoop.hbase.replication.multiwal.TestReplicationSyncUpToolWithMultipleAsyncWAL

hadoop.hbase.client.TestSnapshotTemporaryDirectory

hadoop.hbase.client.TestFromClientSide

hadoop.hbase.client.TestFromClientSide3

hadoop.hbase.client.TestSnapshotTemporaryDirectoryWithRegionReplicas

hadoop.hbase.client.TestAsyncTableBatch

hadoop.hbase.master.procedure.TestSCPWithReplicasWithoutZKCoordinated

hadoop.hbase.client.TestAdmin1

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/5/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/134

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux 644fb89aa0e3 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / 494a8efe5f

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

findbugs
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/5/artifact/out/branch-findbugs-hbase-server-warnings.html

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/5/artifact/out/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/5/testReport/

Max. process+thread count
4808 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-134/5/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.


DataFrame.mask fails for single-row partitions

Describe the issue:
When creating a Dask DataFrame with partitions containing a single row, the mask method incorrectly computes shapes and raises a ValueError: Array conditional must be same shape as self
Minimal Complete Verifiable Example:
import dask.dataframe as dd
import pandas as pd

df = dd.from_pandas(pd.DataFrame({"column": [1, 2]}), npartitions=2)
df.mask(cond=[[True], [False]], other=5).compute()

Anything else we need to know?:
The same MCVE succeeds when:

Creating a DataFrame with 4 or more rows, or using npartitions=1, so that no partition contains just 1 row.
Using a previous dask version (tested with 2022.6.1).

Environment:

Dask version: 2022.11.1 and 2023.1.0 (both fail)
Python version: 3.9.16
Operating System: Ubuntu WSL 4.4.0-19041-Microsoft
Install method (conda, pip, source): pip

Thanks for the clear report, @albarji. This indeed seems like a bug. We'll take a look.

To unblock you now you could probably use a Series instead of a list?
In [15]: df.mask(cond=pd.Series([True, False]), other=5).compute()
Out[15]:
   column
0       5
1       2

@phobson thanks for the fast answer!
Also @quasiben thanks for your suggestion. I tried it out and using a Series indeed works for that example, but I also realized that for a general DataFrame one must be careful to align its indices with those in the Series. For example,
df = dd.from_pandas(pd.DataFrame({"column": [1, 2]}, index=[1, 2]), npartitions=2)
df.mask(cond=pd.Series([True, False]), other=5).compute()

produces the wrong result
   column
1       1
2       5

because the masking seems to be performed after aligning the indices of DataFrame and Series, not just by aligning their rows.
So, the solution seems to be creating the Series with the same indices as the DataFrame being masked
df = dd.from_pandas(pd.DataFrame({"column": [1, 2]}, index=[1, 2]), npartitions=2)
df.mask(cond=pd.Series([True, False], index=df.index), other=5).compute()

Also, to provide another reproducible example: the same bug arises when masking across several columns.
import dask.dataframe as dd
import pandas as pd

df = dd.from_pandas(pd.DataFrame({"columnA": [1, 2], "columnB": [3, 4]}), npartitions=2)
cond = [[True, True], [False, True]]
df.mask(cond=cond, other=5).compute()

a ValueError: Array conditional must be same shape as self is raised.
Again, the error disappears when adding more data rows or setting npartitions=1 , so that no partition has just a single row.

In case somebody else is struggling with this: a workaround based on @quasiben 's idea that also works for several columns and arbitrarily indexed dataframes goes as follows:
import dask.dataframe as dd
import pandas as pd

# Inputs
df = dd.from_pandas(pd.DataFrame({"column": [1, 2]}), npartitions=2)
cond = [[True], [False]]   # Also works for cond = [[True, True], [False, True]]

# Cast the masking list to a DataFrame with index and columns as df
cond = pd.DataFrame(data=cond, index=df.index, columns=df.columns)

# Now the masking behaves as expected
df.mask(cond=cond, other=5).compute()

To clarify the discussion:

I tried it out and using a Series indeed works for that example, but I also realized that for a general DataFrame one must be careful to align its indices with those in the Series.

This doesn't happen in Pandas, so Dask seems to be introducing the index-alignment issue.
Using the same MCVE's Series and Dataframe in pure Pandas we have:
# Index different from range [0, ..., N-1]
df = pd.DataFrame({"column": [1, 2]}, index=[1, 2])
df
   column
1       1
2       2
# Calling mask with something that has the same index as df
df.mask(df <= 1, other=5)
   column
1       5
2       2
# Calling mask with matrix-like (no index associated)
df.mask(cond=[[True], [False]], other=5)
   column
1       5
2       2
# Try with series that still indexes with [1, 2] instead of [0, 1]
s = df['column']
s
1    1
2    2
Name: column, dtype: int64
# Expected result using same-index series
s.mask(s <= 1, other=5)
1    5
2    2
Name: column, dtype: int64
# Also with array-like
s.mask([True, False], other=5)
1    5
2    2
Name: column, dtype: int64

Closed via https://github.com/dask/dask/pull/10163.


The Live Demo allows people to change the admin password

In a perfect world this would not be a problem...
Live Demo: http://forms.viewflow.io/admin/login/

That's ok. The database is recreated every hour.


update dependencies to be compatible with 3.10.x

Description
update dependencies to be compatible with 3.10.x

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 1.2.0-SNAPSHOT.apim-3-10-compatibility
download it from Artifactory here

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

1.2.0
GitHub release

Your semantic-release bot :package::rocket:


Add compatibility with GHC 9.6.2

Re: https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.6#mtl-23-changes

Maybe this PR could also update the workflow file, such that we test with ghc-9.6.2 and all latest version of earlier ghc major versions

Done

Thanks!


Copy/paste should be configurable on a per-workspace basis, and only by the TRE Admin

Is your feature request related to a problem? Please describe.
Some projects aren't going to use sensitive data, in which case they should be allowed arbitrary copy/paste, and maybe even file upload/download.
Other workspaces, the raison d'etre for the TRE, should not be allowed to access copy/paste between the host and the workspace.
Describe the solution you'd like
At the moment, copy/paste is a user-configurable option in the Guacamole service, which means the Workspace Admin can configure it. This should not be the case, the choice should be hardwired into the workspace by the TRE Admin who creates it.
We also need to investigate if copy/paste can be configured to be allowed within the workspace, but not between the workspace and the browser host. I.e., if the user can copy/paste between their applications on their VM, but not between their VM and their laptop.

With copy/paste disabled at the Guacamole service level, I can copy/paste between windows in VMs hosted by Guacamole, but not between those VMs and my laptop.
With copy/paste enabled in Guacamole, I can copy/paste between my laptop and my VMs
So that functionality is working the way we want.

See also #105, which mentions the need to copy/paste SAS URLs for the airlock. That needs a better design.


failed to import "astro-compress" |- Error: Could not load the "sharp" module using the linux-x64 runtime

My Packages
{
  "name": "astro-ultimate-tutorial",
  "version": "0.0.1",
  "scripts": {
    "commit": "git-cz",
    "-------- build, dev --------------------------------------------------------------": "-",
    "dev": "astro dev",
    "build": "astro build",
    "-------- start, please use this for local for run this in 3000 port --------------": "-",
    "start": "astro dev --port 3000",
    "preview": "astro preview",
    "astro": "astro",
    "-------- schema management--------------------------------------------------------": "-",
    "sync:components": "sb-mig sync components --all --presets"
  },
  "devDependencies": {
    "@astrojs/tailwind": "^5.0.4",
    "@storyblok/astro": "^4.0.0",
    "@types/node": "^20.10.5",
    "@types/react": "^18.2.45",
    "@types/react-dom": "^18.2.18",
    "@vitejs/plugin-basic-ssl": "^1.0.2",
    "astro": "^4.0.8",
    "tailwindcss": "^3.4.0",
    "typescript": "^5.3.3",
    "vite": "^5.0.10"
  },
  "dependencies": {
    "@astrojs/partytown": "^2.0.3",
    "@astrojs/react": "^3.0.8",
    "@astrojs/sitemap": "^3.0.4",
    "@astrojs/vercel": "^6.1.1",
    "@camped-ui/aspect-ratio": "^2.0.2",
    "@camped-ui/avatar": "^2.0.2",
    "@camped-ui/button": "^2.0.2",
    "@camped-ui/calendar": "^2.0.2",
    "@camped-ui/card": "^2.0.2",
    "@camped-ui/lib": "^1.0.8",
    "@camped-ui/textarea": "^2.0.2",
    "astro-compress": "^2.2.7",
    "astro-robots": "^2.0.0",
    "astro-seo": "^0.8.0",
    "astrojs": "^0.1.3",
    "clsx": "^2.0.0",
    "commitizen": "^4.3.0",
    "cz-conventional-changelog": "^3.3.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "sb-mig": "^5.2.2",
    "sharp": "^0.32.6",
    "storyblok-schema-types": "^1.1.0"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  }
}

Please tell me the workaround to fix this

What is the output of npm ls sharp

├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>@NikolaRHristov here we go

Usually you don't need sharp installed separately and Astro's version of sharp must match AstroCompress's version of sharp.
To do so you can override the version of sharp to match either Astro's or AstroCompress's by doing this:
If Astro uses an older version of sharp:
{
  "overrides": {
    "astro": {
      "sharp": "0.33.1"
    }
  }
}

or:
{
  "overrides": {
    "astro-compress": {
      "sharp": "0.33.1"
    }
  }
}

If AstroCompress uses an older version of sharp.
Again, this depends on the output of npm ls sharp and the latest version of sharp available.

├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>@NikolaRHristov here we go

In your case, just remove sharp from the dependencies list and the issue should be fixed.
To fix it "once and for all" for every future version of Astro and AstroCompress just override both to use the same version:
{
  "overrides": {
    "astro-compress": {
      "sharp": "0.33.1"
    },
	"astro": {
      "sharp": "0.33.1"
    }
  }
}

I will make a version of AstroCompress that accounts for the version mismatch between the two, but for now https://github.com/astro-community/AstroCompress/issues/257#issuecomment-1879794233 this is a pretty ok hotfix.

Sorry I tried but it didn't work
{
  "name": "astro-ultimate-tutorial",
  "version": "0.0.1",
  "scripts": {
    "commit": "git-cz",
    "-------- build, dev --------------------------------------------------------------": "-",
    "dev": "astro dev",
    "build": "astro build",
    "-------- start, please use this for local for run this in 3000 port --------------": "-",
    "start": "astro dev --port 3000",
    "preview": "astro preview",
    "astro": "astro",
    "-------- schema management--------------------------------------------------------": "-",
    "sync:components": "sb-mig sync components --all --presets"
  },
  "devDependencies": {
    "@astrojs/tailwind": "^5.0.4",
    "@storyblok/astro": "^4.0.0",
    "@types/node": "^20.10.5",
    "@types/react": "^18.2.45",
    "@types/react-dom": "^18.2.18",
    "@vitejs/plugin-basic-ssl": "^1.0.2",
    "astro": "^4.0.8",
    "tailwindcss": "^3.4.0",
    "typescript": "^5.3.3",
    "vite": "^5.0.10"
  },
  "dependencies": {
    "@astrojs/partytown": "^2.0.3",
    "@astrojs/react": "^3.0.8",
    "@astrojs/sitemap": "^3.0.4",
    "@astrojs/vercel": "^6.1.1",
    "@camped-ui/aspect-ratio": "^2.0.2",
    "@camped-ui/avatar": "^2.0.2",
    "@camped-ui/button": "^2.0.2",
    "@camped-ui/calendar": "^2.0.2",
    "@camped-ui/card": "^2.0.2",
    "@camped-ui/lib": "^1.0.8",
    "@camped-ui/textarea": "^2.0.2",
    "astro-compress": "^2.2.7",
    "astro-robots": "^2.0.0",
    "astro-seo": "^0.8.0",
    "astrojs": "^0.1.3",
    "clsx": "^2.0.0",
    "commitizen": "^4.3.0",
    "cz-conventional-changelog": "^3.3.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "sb-mig": "^5.2.2",
    "storyblok-schema-types": "^1.1.0"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "overrides": {
    "astro-compress": {
      "sharp": "0.33.1"
    },
    "astro": {
      "sharp": "0.33.1"
    }
  }
}

├─┬<EMAIL_ADDRESS>overridden
│ └──<EMAIL_ADDRESS>overridden
└─┬<EMAIL_ADDRESS>overridden
└──<EMAIL_ADDRESS>deduped

Does it work without the overrides?

No, not working

No, not working
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>deduped

hmm, I will investigate it further. Thank you for your feedback. In the meantime you can install AstroCompress from the #no-sharp branch like so:
npm install -D -E astro-community/AstroCompress#no-sharp

There is an issue in the sharp repository which tracks this: https://github.com/lovell/sharp/issues/3870 and here https://github.com/vercel/nft/issues/371 in the Vercel nft repository.

I am using yarn is that using this cmd to install ??
npm install -D -E astro-community/AstroCompress#no-sharp

sure thanks,

am getting this error
|- SyntaxError: Unexpected token '<<'
    at ESMLoader.moduleStrategy (node:internal/modules/esm/translators:119:18)
    at ESMLoader.moduleProvider (node:internal/modules/esm/loader:468:14)

I don't know how to do it with Yarn, but just replace the astro-compress entry in your package.json with the following:
{
	"dependencies": {
		"astro-compress": "astro-community/AstroCompress#no-sharp",
	}
}

am getting this error
|- SyntaxError: Unexpected token '<<'
    at ESMLoader.moduleStrategy (node:internal/modules/esm/translators:119:18)
    at ESMLoader.moduleProvider (node:internal/modules/esm/loader:468:14)

AstroCompress's #no-sharp branch had recent merges lately. This should now be fixed.


Feature: Check if active service worker and replace

Feature Request
Would like to see if we can detect if there's already an active service worker on the client's device.
Currently I use getRegistration to do this but I was curious if Workbox could automatically detect if there is already and SW and avoid attempting to register the same service worker.
Also I've noticed when we clear out an SW or it updates. There's no way to know when it needs to refresh and expired SW. I saw the 'pushsubscriptionchange' in service workers but it doesn't seem to work here. Would be helpful if WB could detect and replace.

If the promise returned by navigator.serviceWorker.ready fulfills, there's an active service worker.
Generally speaking, if there is already an underlying service worker API that's straightforward to use, we won't attempt to "wrap" it as part of Workbox. navigator.serviceWorker.ready falls into that category.
There is no need to avoid registering the same service worker multiple times, though. If you call register() and you pass in the same scriptURL with the same effective scope as the existing registration, it's effectively a no-op.


FreeRTOS: fix r12 offset for FPU-enabled normal frame

Fixes #1043
Thanks to @newbrain for finding and reporting the issue!

/morph test

/morph test


Different outputs with rtkfdk when modifying --subsetsize

The following four commands produce different outputs:
rtksimulatedgeometry -n 180 -o g
rtkprojectshepploganphantom -g g --dimension 512 -o proj.mha
rtkfdk -p. -r  ^proj.mha$ -o fdk16.mha --subsetsize 16
rtkfdk -p. -r  ^proj.mha$ -o fdk32.mha --subsetsize 32
The maximum absolute difference between corresponding pixels of fdk16.mha and fdk32.mha is 5.1e-16.

I think the problem is that the ramp filter does a 3D FFT with different sizes depending on --subsetsize. This can be reproduced with the new option --subsetsize of the command line tool rtkramp:
rtkramp -p . -r ^proj.mha$ -o ramp16.mha --subsetsize 16
rtkramp -p . -r ^proj.mha$ -o ramp32.mha --subsetsize 32
diff ramp16.mha ramp32.mha
I'm closing this issue because I don't think it is really an issue, just numerical limitations.


Skip the step of creating a docs PR in release pipeline and instead check in the code directly

Currently we have a step of creating PR to publish to Doc.MS. We have been reviewing the PR for a while, and now we are confident about the context is stable as what we expected.
In order to release the package owners' burden of looking into each PR. We several options to replace the PR creation steps.

Checked in the code directly into master.
Checked in the code into some temp branch, and @danieljurek and I are responsible to merge temp branch to master daily or weekly.

Something to consider:
Since the release pipelines are running concurrently, we need to make sure the commits do not mess up with each others.

Procedure:

Push changes directly to the main branch (today called master)
Every day at noon (sufficiently after nightly Docs CI has run against the main branch):

Checkout a new branch with a static name (e.g. for-release)
Reset the branch to the HEAD of the main branch and push
Open a PR (create-pull-request.yml might help here) pointing to the live branch. The script used by create-pull-request.yml will not open a new PR if one is already open
Dev merges to live if OPS build says there are no errors

We currently pending on the https://github.com/Azure/azure-sdk-tools/pull/1534.
Java/JS pipeline: https://dev.azure.com/azure-sdk/internal/_build?pipelineNameFilter=sima

Python -- https://dev.azure.com/azure-sdk/internal/_build/results?buildId=835683&view=results

Enabled the Java and JS daily build right before the Docs Job CI.


Use prefixed id codes per region

format id fields to include regional code
@barthanssens  could you maybe confirm that a format like
BE-VLG-200039 is what we want? Thanks!

will use : as delimiter between prefix and code
BE-VLG:200039


bug: Currently Logs on eth_getTransactionReceipt is not returning block data

Bug Report
Kakarot RPC version:

Current behavior:
Missing information on "eth_getTransactionReceipt" logs field:
Expected behavior:
Return all relevant data on Logs
Steps to reproduce:

Related code:

            {
                "address": "0x9d6dc8f529b41e7ef341e1c48a849c00dce4ea10",
                "topics": [
                    "0x000f85617d642704f0a8a5647db56a1492a44de95131dff7326e9349e6362a2c"
                ],
                "data": "0x0000000000000000000000003a35fda41163674a63a4baaeac4605f11ec9295901be84d806d4b02e91e81e9be2f439e759e088c856007eabf341f082c1346e56",
                "blockHash": null,
                "blockNumber": null,
                "transactionHash": null,
                "transactionIndex": null,
                "logIndex": null,
                "removed": false
            },

Other information:

So, we do returns logs { you can check here }.
Are you still facing this issue? If yes, then let me know I can investigate as well! otherwise we can close.

@danilowhk are you still facing this issue?

Has this been fixed @danilowhk

Working on it

Closing this issue as it was already fixed with the implementation of the "to_eth_log"
https://github.com/kkrt-labs/kakarot-rpc/blob/1de316620d591d8fe5dad05cea9c011669d16268/crates/core/src/models/event.rs#L30


[2551] Add back link to cookies page

Context
Add back link to cookies page, which sends users to the root_path.
Guidance to review

Navigate to the cookies page in the footer
Click the back link

 Add a back button to the cookies page

There's no deployment for this to review, but merge anyway and then I'll check on production!


CPU Usage double higher than OpenJDK

Hello,
I'm doing research where I compare benchmark and other stats between GraalVM Native Image and standard JAR Spring Boot Applications.
The application is simple, I am accessing endpoint with JWT PS512 Auth and database access.
Both applications are dockerized (JAR and Native Image) and the Native Image is winning in every stat except CPU Usage.
When running
docker stats
I get above 100% for Dockerized Native image
and
About 40% for Dockerized JAR
Is there any particular reason for it, or is it only on my side?

Native can consume more than the JVM due to less runtime optimizations, but such difference is suspicious, could you please share the related project and document how you measured those figures ?

The project: https://github.com/vavramovski/graalvm-native-demo/tree/port-jwt
There's the Dockerfile that I used to create the docker image for the given JAR file.
I'm running them using
docker run -p 8080:8080 -d
And getting the stats with the command
docker stats
Then, to load-test the application i use npm package called loadtest
running the command with
loadtest -c 4 --rps 200 -H Authorization:"Bearer eyJhbGciOiJQUzUxMiJ9.eyJzdWIiOiJWaWt0b3IiLCJpYXQiOjE2MzI3MzYwMDcsImV4cCI6MTYzMjgyMjQwN30.GojK2CEfylPNeb93uh788E54N1qvkCAn-y10Bp7WCU6nr0PbbKn8MGIt8MB_NiqR7c2g7treAMT_t8wq52iM2M3aU__Qye1lLlPDrM8B6i_hk0Alq5iv_chsh3CBgZDYlOtfwttHU_71NJtXLSTdbGSNuI69wgzfkwolFk7e-tfE-a5sRFBf1nsY2KbrBUl4FDAR8DgDi2Am0EkriEG0h8w9_mTpUSMHH5VQ0dYhVX3r0DkBXezkgimJkUZRoc_Hx_t7rZuH4dDxnOf1gWMHV4fG-wHJ4PlWIYWpJqTHW8oAc6B1WkrPIAslUa2WR6kXAHzNOyj9YhHaxCnCoTKw0Q" http://<IP_ADDRESS>:8081/cart/2

The IP in this case was my EC2 instance, and if you get Unauthorized exception then you can LogIn with the following request
POST {{host}}/auth/signin
BODY {
"username":"Viktor",
"password":"123456"
}

Guess the issue was this:
I was building the Native Docker Image on Windows 10
and was running it on Ubuntu 20.04 Server
Now i build and ran the image on Ubuntu 20.04 Server, and it has normal cpu usage, about 40%
Is it possible that was the case ?


Method 'setPadding' not found in Endroid\QrCode\QrCode

Hey,
I have an issue when trying to use setPadding and render.

It says: Method 'setPadding' not found in Endroid\QrCode\QrCode
and the same for render
Does this have something to do with the versions? Following a tutorial from a couple years ago so maybe it's just outdated... Don't know how to solve it :\
Thanks

Hi @SphCstrs1 indeed looks like you are using an old version. You can read in the readme how to install and use the latest version. You find it here https://github.com/endroid/qr-code.


Add unit test for binary object

I created another PR, since my local git repo was corrupted.
Here is the new one: https://github.com/UNC-Libraries/Carolina-Digital-Repository/pull/531


fix: added subjectAltNames to TLS certificates

Kubernetes v1.19 requires subjectAltNames to be present on the TLS certificates or otherwise will break. Even though the TLS config file already added those, an OpenSSL bug prevented them to be actually propagated to the actual certificates.
closes #4

oh, and next time please add a fixup commit (git commit --fixup=...) so that can review the changes more easily, and then squash after approval.


Working on Storyboard and Mockup

Should be finished, probably ready to close

Closing this, will reopen if any issues arise


Distribution of transfers

Non-Social Security Government transfers should be modeled more explicitly.  A simple step in the right direction would be to allocate non-SS government transfers across age and lifetime income group in a way that is consistent with recent patterns in their distribution.  This could be done by calibrating a matrix, call it eta, that is of dimension SxJ, which represents the share of total non-SS transfers to each age and lifetime income group.

This issue is solved by PR #479 (Transfers).


Can the new version of jetjrains gateway be supported?

Since the "vcs" module has been updated, it appears to only be supported until 2024.1.4. I'll probably try to fix it this week.


feat(art advisor): enable Milestone 1

This PR resolves ONYX-1267
Description
Implements the following logic to determine when to serve the new home view:

A regular user on an app store build sees the legacy home screen by default
A user on a simulator/beta/TestFlight build sees the new home screen by default
A user can toggle a feature flag (ARPreferLegacyHomeScreen) to revert to the legacy home screen for dev/testing/QA

Or, in truth table form:

isBetaOrDev=false
isBetaOrDev =true

ARPreferLegacyHomeScreen=false
Old screen
New screen

ARPreferLegacyHomeScreen=true
Old screen
Old screen

In addition the new info button presents some helpful links for reporting issues related to the new home screen, or reverting back to the old one.
https://github.com/user-attachments/assets/670e828e-c9b7-4c54-a162-5b278abb181d
PR Checklist

[ ] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Prefer the new home screen by default in dev/test environment, but allow override - Roop

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (Prefer the new home screen by default in dev/test environment, but allow override - Roop)

  Generated by :no_entry_sign: dangerJS against 3df5e414b6beb084c6e63d7bf65c9b1a76afa014

Cool, thanks for all the 👀
As discussed in Onyx planning today — the last change I'll smuggle into this PR is to change the initial fetch from 5 sections to 10, to make that spinner a little less obtrusive. (https://github.com/artsy/eigen/pull/10724/commits/b25a41ce2455b8db234bc3e4dabecb775e749ecb)


Flowerist Landing Page

Description
Flowerist is a flowers and bouquet delivering company.
Design will include a responsive Landing Page.
Domain
UI/UX
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

\assign

/assign


Allow merging key

If first argument of merge is string, first fetch, and then merge in.

Allows for cool stuff like:
someInstance.merge('some.nested.object', withThisObject, andThisOneAsWell);


refactor: add Store namespace and add to Piece namespace

Addon to #136. I'm not sure if I should make a new namespace for AliasStore, since it would literally be a duplicate of the Store namespace, or just accept it being inconsistent because AliasPiece has a namespace.

I'm not sure if I should make a new namespace for AliasStore, since it would literally be a duplicate of the Store namespace, or just accept it being inconsistent because AliasPiece has a namespace.

I would say no. End-users won't really often be using AliasStore for their own code anyway because aliases are really only useful for message based commands. They're completely useless for context menu commands and pretty useless for slash commands.

Changed the title / commit message because I realized there was no feat of this yet.


FormatException: No ':' on line

-> flutter packages get
Oops; flutter has exited unexpectedly.
...

This error creeped in after a crash of Windows 10 x64.
Now I get it with almost every flutter command (even flutter doctor sometimes).
When I get the "flutter doctor" command to actually run, it shows that all requirements are met.
Log
FormatException: FormatException: No ':' on line (at offset 5810)
#0      parse (package:package_config/packages_file.dart:53)
#1      _parse (package:flutter_tools/src/dart/package_map.dart:13)
#2      PackageMap.load (package:flutter_tools/src/dart/package_map.dart:33)
#3      PackageMap.map (package:flutter_tools/src/dart/package_map.dart:37)
#4      FlutterCommandRunner._checkFlutterCopy (package:flutter_tools/src/runner/flutter_command_runner.dart:402)
#5      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:242)
<asynchronous suspension>
#6      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:109)
#7      new Future.sync (dart:async/future.dart:222)
#8      CommandRunner.run (package:args/command_runner.dart:109)
#9      FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:161)
#10     run.<anonymous closure> (package:flutter_tools/executable.dart:143)
<asynchronous suspension>
#11     AppContext._run (package:flutter_tools/src/base/context.dart:76)
<asynchronous suspension>
#12     AppContext.runInZone.<anonymous closure> (package:flutter_tools/src/base/context.dart:66)
#13     _rootRun (dart:async/zone.dart:1120)
#14     _CustomZone.run (dart:async/zone.dart:1001)
#15     runZoned (dart:async/zone.dart:1467)
#16     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#17     run (package:flutter_tools/executable.dart:114)
<asynchronous suspension>
#18     main (package:flutter_tools/executable.dart:67)
<asynchronous suspension>
#19     main (file:///C:/tools/flutter/packages/flutter_tools/bin/flutter_tools.dart:16)
#20     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#21     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)

As a workaround, try deleting your .packages file.

The fundamental problem is that _parse in package_map.dart doesn't know how to handle failure.
I'm not sure exactly how we should handle it. Probably treat it as a missing file? I wonder what pub does with a broken .packages file.

Deleting .packages file works for me

Windows crashed this morning and then this error occurred.  Deleting .packages and updating fixed the issue.


Document on how to store owned types in separate tables

To store OrderDetails into separate tables, should it call ToTable on OrderDetails entity instead of on Order entity?
On the document:
modelBuilder.Entity<Order>().OwnsOne(p => p.OrderDetails, od =>
    {
        od.OwnsOne(c => c.BillingAddress);
        od.OwnsOne(c => c.ShippingAddress);
    }).ToTable("OrderDetails");

Should it be:
modelBuilder.Entity<Order>().OwnsOne(p => p.OrderDetails, od =>
    {
        od.OwnsOne(c => c.BillingAddress);
        od.OwnsOne(c => c.ShippingAddress);

       od.ToTable("OrderDetails");
    });

Oh ok coz I didn't try executing the code myself. Thanks for clarifying 👍

@smitpatel When the overload with nested lambda is used the returned builder is the original one, so it does make a difference in this case.
@davidliang2008 The second snippet is the right one for your scenario.

Oh then the example on the Microsoft doc is indeed wrong then.


URDF for Isaac Gym

Hello, jeguzzi! Because the speed of Gazebo simulation is too slow, I'm working to transfer the robomaster model to Issac Gym environment, which uses ROS plugin to export URDF from XACRO files that this repo provides. But something went wrong when I imported URDF to it. I wonder if you can provide the corresponding raw URDF file or you have already deployed robomaster in Isaac Gym? Thank you!

Hi @xander-2077 , sorry for the delay.
To get the URDF you can use xacro, similarly to what we do in the launch file at line 25: https://github.com/jeguzzi/robomaster_ros/blob/main/robomaster_description/launch/model.launch.py#L25
or, with the CLI
ros2 run xacro xacro `ros2 pkg prefix robomaster_description --share`/urdf/robomaster_ep.urdf.xacro name:=my_name ...

Depending on the robot model, it may not be trivial to import it correctly.  If you want to simulate the arm, which has a closed-loop parallel kinematics, you need somehow to close the loop, which is something not supported by URDF files. In fact, joint rod_3_joint has a degree of freedom in the URDF but in the real robot, its position depends on the motor joints. In the driver, this is accounted for in https://github.com/jeguzzi/robomaster_ros/blob/main/robomaster_ros/robomaster_ros/modules/arm.py#L40.
So, your simulation should support closed-loop kinematics. I don't have experience with ISAAC Gym, but we do offer a simulation for the robomaster that may be of help for you. Take a look at https://github.com/jeguzzi/robomaster_sim. It is based on CoppeliaSim, which offers similar features as Gazebo (ROS binding, plugins, ...) and some more. You can run CoppeliaSim offline from Python too, although it will use IPC, so you may have significant costs.
Let me know if you need further help.


ActiveRecord Optimization

When it comes to ActiveRecord objects, Blueprinter should not need to load all columns to extract values, it should only need to select the columns it needs as specified in the Blueprint. This would reduce the time spent querying the database as well as reducing memory footprint.

You're right, this would be quite tricky. Totally open to ideas on this one. It would be a bad experience if the optimization works for some cases and not for others...
Just an idea, what if we explicitly specify which fields to load in the Blueprint? If no specification is made, we simply load all fields. For example:
class UserBlueprint < Blueprinter::Base
  select_fields :uuid, :first_name, :last_name # something like this?

  identifier :uuid
  field :full_name do |user|
    "#{user.first_name} #{user.last_name}"
  end
end

Been experimenting with this on a client project. I think something like what you suggest @philipqnguyen would work but it feels bulky. It'd be cool if we could infer it.
In regards to the example above... shouldn't full_name be a method on the User model anyway? Is a serializer really the place to be doing that?

Well, should or shouldn't it be in the model is another question.
In theory computed fields can use kwarg to set fields that are used, i. e. something like
class UserBlueprint < Blueprinter::Base
  identifier :uuid

  field :full_name, using: %i[first_name last_name] do |user|
    "#{user.first_name} #{user.last_name}"
  end
end

Anyway, it's not the only corner case. Something like
class ModelBlueprint < Blueprinter::Base
  field :am_field
end

models = Model.joins(:another_model).select('another_models.fields as am_field')

will also be broken, since models.select(:am_field) will fail and I'm sure there are many other examples.

@das3in there are many cases I've encountered where defining a method directly in the model felt unnecessary as it was so specific to the JSON response only, and therefore I would like to have that support of defining a custom field directly in the blueprint.
You're right @das3in that it would be nice to have it be inferred, but I can't think of a way right now of how that could work. Again open to ideas on this.
@ojab I think the case you suggested is an extreme corner case, and that it's not necessarily a problem that Blueprinter should handle for anyways. That should be up to the responsibility of the developer using the gem to ensure such a conflict did not exist.

That makes sense. I'm getting started on an implementation of your idea - we'll see how it goes

closing for now due to inactivity 😄


Don't make changes to the hnsw index when the inserted tensor is unchanged

With this optimization we avoid doing unnecessary costly work, first removing the vector point, then inserting the same point.
This fixes https://github.com/vespa-engine/vespa/issues/22025.
@toregge please review

👍 👍 👍


data race found in ExchangeContext()

Pls take a look at the problem below
WARNING: DATA RACE
Write at 0x00c0003d6100 by goroutine 35:
  myproject/vendor/github.com/miekg/dns.(*Client).ExchangeContext()
      /go/src/myproject/vendor/github.com/miekg/dns/client.go:501 +0x11b
  myproject/gateway.(*DNSClient).dig()
      /go/src/myproject/gateway/dns_client.go:113 +0x2b8

Previous write at 0x00c0003d6100 by goroutine 33:
  myproject/vendor/github.com/miekg/dns.(*Client).ExchangeContext()
      /go/src/myproject/vendor/github.com/miekg/dns/client.go:501 +0x11b
  myproject/gateway.(*DNSClient).dig()
      /go/src/myproject/gateway/dns_client.go:113 +0x2b8

==================

WARNING: DATA RACE
Read at 0x00c0000726c0 by goroutine 33:
  myproject/vendor/github.com/miekg/dns.(*Client).exchange()
      /go/src/myproject/vendor/github.com/miekg/dns/client.go:401 +0x6d6
  myproject/vendor/github.com/miekg/dns.(*Client).Exchange()
      /go/src/myproject/vendor/github.com/miekg/dns/client.go:137 +0x44f
  myproject/vendor/github.com/miekg/dns.(*Client).ExchangeContext()
      /go/src/myproject/vendor/github.com/miekg/dns/client.go:502 +0x16c
  myproject/gateway.(*DNSClient).dig()
      /go/src/myproject/gateway/dns_client.go:113 +0x2b8

Previous write at 0x00c0000726c0 by goroutine 32:
  myproject/vendor/github.com/miekg/dns.(*Client).ExchangeContext()
      /go/src/myproject/vendor/github.com/miekg/dns/client.go:501 +0xac
  myproject/gateway.(*DNSClient).dig()
      /go/src/myproject/gateway/dns_client.go:113 +0x2b8

Some ideas on implementation:
Instead of ExchangeContext calling Exchange (and then exchange), copy the implementation of Exchange and exchange into ExchangeContext and exchangeContext, then swap out c.Dial() with a new function c.DialContext. Additionally, the new exchangeContext would be modified to apply the overall context deadline to reads and writes, which it looks like the current ExchangeContext doesn't do.
c.DialContext would actually be a rename of c.Dial. We'd replace the d.Dial call with d.DialContext. Unfortunately, there's also a code path that calls tls.DialWithDialer, which appears to have no context variant yet. This could be partially worked around by using d.Dial to get a conn, and then building a tls.Client on top of it. Unfortunately, in this situation, the tlsClient.Handshake() method still disobeys the context deadline.
c.Dialcould then be implemented by callingc.DialContextwithcontext.Background()`.
Maybe another approach would be to add a net.Dialer parameter to the call signature for .exchange(), and make full copies of c.Dialer on each ExchangeContext call?

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] data race found in ..." ]

Some ideas on implementation:
Instead of ExchangeContext calling Exchange (and then exchange), copy the implementation of Exchange and exchange into ExchangeContext and exchangeContext, then swap out c.Dial() with a new function c.DialContext. Additionally, the new exchangeContext would be modified to apply the overall context deadline to reads and writes, which it looks like the current ExchangeContext doesn't do.
c.DialContext would actually be a rename of c.Dial. We'd replace the d.Dial call with d.DialContext. Unfortunately, there's also a code path that calls tls.DialWithDialer, which appears to have no context variant yet. This could be partially worked around by using d.Dial to get a conn, and then building a tls.Client on top of it. Unfortunately, in this situation, the tlsClient.Handshake() method still disobeys the context deadline.
c.Dialcould then be implemented by callingc.DialContextwithcontext.Background()`.

This sounds like a fair approach to try it. Should will file an upstream bug for
tls not having a context?
/Miek
--
Miek Gieben

Should will file an upstream bug for tls not having a context?

I think we should (as long as there isn’t an existing open issue).

closing here (it is documented in the source)

We support the last 2 go versions, so 1.14 is the new minimum.
On Sun, 9 May 2021, 02:12 Buffrr, @.***> wrote:

Go 1.15 now has a dialer in the tls package with context support
https://golang.org/pkg/crypto/tls/#Dialer.DialContext
Any chance of bumping the min go version? I know it has been recently set
to Go 1.14 so not sure if its too soon for this but Go 1.16 is out now
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/miekg/dns/issues/988#issuecomment-835586186, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACWIW3EGW57SI5U5D2XNITTMXHNLANCNFSM4HZKPGXQ
.


Fix: bug in task TASK [iib_ci : Mirror all the needed images]

Updated the Jinja2 template ansible/roles/iib_ci/templates/mirror.map.j2 to add a '-' to the image tag if there's a source image that has the same name in the mirror.map file.

Example mirror.map entry:
registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:da5d5061dbc2ec5082cf14b6c600fb5400b83cf91d7ccebfa80680a238d275db=default-route-openshift-image-registry.apps.lc-claudiol-devsec-hub-535d-2.blueprints.rhecoeng.com/openshift-marketplace/ose-kube-rbac-proxy:610968
registry.redhat.io/openshift4/ose-kube-rbac-proxy@sha256:d4de33150cb8c8faf0133b39553e6c972be5ace7ae787c98f3b77fca37748036=default-route-openshift-image-registry.apps.lc-claudiol-devsec-hub-535d-2.blueprints.rhecoeng.com/openshift-marketplace/ose-kube-rbac-proxy:610968
The above will generate an error in TASK [iib_ci : Mirror all the needed images]
2023-10-29 20:56:08,534 INFO     fatal: [localhost]: FAILED! => {"attempts": 5, "changed": true, "cmd": "set -o pipefail\noc image mirror -a "/tmp/ansible.eunmaew5/.dockerconfigjson" -f mirror.map --insecure --keep-manifest-list 2>&1 | tee -a image-mirror.log\n", "delta": "0:00:00.068476", "end": "2023-10-29 20:56:07.485885", "msg": "non-zero return code", "rc": 1, "start": "2023-10-29 20:56:07.417409", "stderr": "", "stderr_lines": [], "stdout": "error: file mirror.map, line 11: each destination tag may only be specified once: default-route-openshift-image-registry.apps.qe-mg-hub-aws-14022.aws.validatedpatterns.io/openshift-marketplace/ose-kube-rbac-proxy:610968", "stdout_lines": ["error: file mirror.map, line 11: each destination tag may only be specified once: default-route-openshift-image-registry.apps.qe-mg-hub-aws-14022.aws.validatedpatterns.io/openshift-marketplace/ose-kube-rbac-proxy:610968"]}

I believe this is more complicated than necessary :)
There is no specific reason we need to use iib as the mirrordest_tag in https://github.com/validatedpatterns/common/blob/main/ansible/roles/iib_ci/tasks/mirror-related-images.yml#L92
Better to address at the source and use
'mirrordest_tag': 'tag-' + item | basename | regex_replace('^.*@sha256:', '')}}, recursive=true) }}"

as per https://github.com/validatedpatterns/common/blob/main/ansible/roles/iib_ci/tasks/mirror-related-images.yml#L107

I believe this is more complicated than necessary :) There is no specific reason we need to use iib as the mirrordest_tag in https://github.com/validatedpatterns/common/blob/main/ansible/roles/iib_ci/tasks/mirror-related-images.yml#L92
Better to address at the source and use
'mirrordest_tag': 'tag-' + item | basename | regex_replace('^.*@sha256:', '')}}, recursive=true) }}"

as per https://github.com/validatedpatterns/common/blob/main/ansible/roles/iib_ci/tasks/mirror-related-images.yml#L107

Ack.  I will replace the tag as described above and test it this morning.  Thanks for the review!

/lgtm