validation layer fires on [hpp_]hlsl_shaders

Running on Win10 with NVIDIA GPU, I get this validation layer error when running the API sample [hpp_]hlsl_shaders:
Validation Error: [ VUID-vkCmdDrawIndexed-SampledType-04471 ] Object 0: handle = 0x74d977000000004a, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0x5eb05e000000003b, name = View on textures/metalplate01_rgba.ktx, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x444bbaa8 | vkCmdDrawIndexed: Descriptor set VkDescriptorSet 0x74d977000000004a[] in binding #1 index 0 has a 32-bit component ImageView format (VK_FORMAT_R8G8B8A8_SRGB) but the OpTypeImage's Sampled Type has a width of 0. The Vulkan spec states: If a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32 (https://vulkan.lunarg.com/doc/view/<IP_ADDRESS>/windows/1.3-extensions/vkspec.html#VUID-vkCmdDrawIndexed-SampledType-04471)

Indeed, it's gone.
Closing.


AttributeError: module 'ccxt.async_support' has no attribute '/'

Hello,
Thank you for this very useful application.
But i have some issues when running,
here is my stack trace:
"C:\Users\NV Master\AppData\Local\Programs\Python\Python36\python.exe" "C:/Users/NV Master/Documents/arbitrage/peregrine-master/peregrine-master/examples/example.py"
Traceback (most recent call last):
  File "C:/Users/NV Master/Documents/arbitrage/peregrine-master/peregrine-master/examples/example.py", line 5, in <module>
    opportunity = asyncio.get_event_loop().run_until_complete(get_opportunity_for_market("BTC/USD", collections_dir))
  File "C:\Users\NV Master\AppData\Local\Programs\Python\Python36\lib\asyncio\base_events.py", line 466, in run_until_complete
    return future.result()
  File "C:\Users\NV Master\Documents\arbitrage\peregrine-master\peregrine-master\peregrinearb\async_find_opportunities.py", line 324, in get_opportunity_for_market
    finder = OpportunityFinder(ticker, exchanges=exchanges, name=name)
  File "C:\Users\NV Master\Documents\arbitrage\peregrine-master\peregrine-master\peregrinearb\async_find_opportunities.py", line 52, in __init__
    exchanges = [getattr(ccxt, exchange_id)() for exchange_id in exchanges]
  File "C:\Users\NV Master\Documents\arbitrage\peregrine-master\peregrine-master\peregrinearb\async_find_opportunities.py", line 52, in <listcomp>
    exchanges = [getattr(ccxt, exchange_id)() for exchange_id in exchanges]
AttributeError: module 'ccxt.async_support' has no attribute '/'

for this example:
from peregrinearb import get_opportunity_for_market
import asyncio

collections_dir = '/Users/wardbradt/cs/peregrine/'
opportunity = asyncio.get_event_loop().run_until_complete(get_opportunity_for_market("BTC/USD", collections_dir))
print(opportunity)

what refer to collections_dir ?
Otherwise other examples in the project are working fine.
thanks for your help.

Thank you for pointing this out. This is an outdated example, which I will fix. You should not pass collections_dir to get_opportunity_for_market. So the correct code would be:
from peregrinearb import get_opportunity_for_market
import asyncio

collections_dir = '/Users/wardbradt/cs/peregrine/'
opportunity = asyncio.get_event_loop().run_until_complete(get_opportunity_for_market("BTC/USD", collections_dir))
print(opportunity)

However, I think there are some other issues impeding this snippet from running successfully. I will fix them.

In the response that you have mentioned as resolution to what refer to collections_dir ? collections_dir is still being passed.Can you please tell what should be value of collections_dir ?

I've got the exact same issue. @wardbradt fix didn't work for me

hello friends, did any of you get the solution?

Hello guys
I have the same issue. @wardbradt fix is actually the same as the original example.
Please help :D

Hi everybody, any updates on how to fix it?

any solution of this error??

On May 27, 2021, at 3:46 AM, pratyushv9 @.***> wrote:

Hi everybody, any updates on how to fix it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

@alvedys Well you can try switching to the 'working' branch and execute the example without the collections_dir parameter as the author has mentioned. But I am still getting errors for the other examples

@wardbradt I am facing this issue, can we get solution for this?
AttributeError: module 'ccxt.async_support' has no attribute '/'

same issue here


Phonegap Build: Notification doesn't show app icon

Hi. I'm using build.phonegap.com to compile my app. I'm using the last available version (cli-5.1.1) and the last version of this plugin (1.2.3, updated 2 hours ago and tested everything again). My phone is a Nexus 5 running Android 5.1.1.
This is my current config:
var push = PushNotification.init({
        "android": {
            "senderID": "123456"
        },
        "ios": {},
        "windows": {}
    });

And this is the result:

My app icon is present everywhere in drawable folders (ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi). My phone is using xxxhdpi. I tried adding the custom var icon:
var push = PushNotification.init({
        "android": {
            "senderID": "123456",
            "icon": "icon",
            "iconColor": "#FFFFFF"
        },
        "ios": {},
        "windows": {}
    });

...and only worked as expected the iconColor property, but the icon is still missing.
This is the icon I'm using for xxxhdpi (res/drawable-xxxhdpi, size 192x192):

The size of the icon present in the fallback drawable folder (res/drawable) is 57x57.
It has a transparent background (to make it look a round) and a solid white for the circle background.
It's working since my app is using it for showing everywhere:

Am I missing something? I read all the other threads about, checked the new android doc regarding this (as you recommended) and even so I can't get it.

@shamank the problem is PhoneGap Build. You don't have access to the res/drawables folder on PGB. You can only upload your www folder and hooks don't run on PGB as well. So there is no way for you to upload the icon you want to use to PGB.
The two possible workarounds are:

build your app using the CLI
Modify your default app icon to have the a transparency as it will be used as the default.

But I want to use my default app icon, the icon that is already there in the res/drawables folder. Why is it not taking it as the default? That icon is 57x57 png, the same that is in the root folder

Is there some example icon I could see to be able to understand the properties I need for the icon?

Sorry to insist in this, but I would really appreciate your help.

@shamank here is an example icon. You'll notice that the image only has two color pixels, black and transparent. Android 5+ will take your image and replace all non transparent pixes with white. So when you are creating an icon you should take the transparency factor into account. If there is no transparency the who image turns white. That's why we give you the option to supply a different icon for the push notification.

Oh god... That's really bad news. The guys from Build Phonegap told me I can't upload custom images to the drawable folder. Is there a way I could hide the little icon and just show the bigger image (when available)? It would be really really helpful to me (and users migrating to this plugin since the most popular one -I was using it- stoped working in Android 5 and the project is not being updated anymore) if:

I could define a custom path to the icon (external resource like http://... or following the path from www folder).
I had the option to completly hide the icon.

Is it possible? Thanks!

@shamank this is how I fixed the white icon in my Ionic app. If you have specific questions, just let me know. http://forum.ionicframework.com/t/android-lolipop-nexus-push-notifications-plugin-icon-is-white/29724

Thank you! That site is really a very valuable resource and will save me a lot of time in the future :)
Well, regarding the main subject, you are saying that I need to place a folder "/platforms/android/res" in the root of the project? Won't Phonegap Build leave it there (inside the scope of "www" folder) instead of moving / merging it with Android scheme folders? It would be really a miracle :| Are you using Phonegap Build (build.phonegap.com) to compile your app?

The images don't go in the www folder. They go into the platform specific folder for Android. Idk, what those are in a phone gap project, but I'd assume it's fairly similar to Ionic. I'm using Ionic's CLI tool to build.
If I were you, I'd really consider switching to Ionic, the performance is much better as well as a whole host of other reasons.

I use ionic too (my current project I built using jqm however). compiling from the cli is different, there you can access those folders. The problem is that in Phonegap Build you can't. I use Build because it's a lot of easier compiling for iOS too (I'm on Linux). Now I have a vm with the last OSX installed and is what I use to send to AppStore, but I'm very used to use this cloud service, and switching will imply a lot of things I don't want to do :P

A quick fix for this although not ideal is to set your targetSdkVersion to 20 (anything less than 21) as per this stack overflow. http://stackoverflow.com/questions/30795431/icon-not-displaying-in-notification
In your config.xml add..

If you really want the new layout, you could try creating a plugin. Plugins are able to copy resources into the res folder of your android project. If you are paying for PG Build you can have private plugins otherwise you need to publish to npm.
In your plugin.xml add a resource line for each icon resolution..

Wow! The last solution sounds really good! I will build this plugin and tell if that worked. Thank you!

@shamank thank you, I've just posted question on Phonegap build forum, before reading your answer here.
I would like to use custom icons/images for notification bar actions buttons. Of course it works fine with cordova-cli, but in phonegap build apk they're missing :-(.
@smdvdsn is there any plugin in the wild, we can use?

+1  I'm having this issue as well.
Just to add to our collective knowledge:

I tried fooling PGB to bring in my images into the res directory by trying various qualifiers (raw, foo, etc.) to the  and gap:splash tags. No luck.
I'm considering using apktool to explode the apk, add an icon and then rebuild it. Something like: apktool d foo.apk where foo.apk was pulled down from phonegap build. Then add the icon to the res directory, then rebuild it using: apktool b -c foo. Not a fan of this because it adds apktool as a dependency to our build process, and then I have to worry about serving the newly created apk (it's nice pulling the apk onto my phone using PGB to host it).

Question: if I lower my targetSdkVersion, does that mean my app doesn't work for any users on lolipop?

@smdvdsn, I don't understand how a plugin will help here. Plugins get registered and invoked after the apk has been built - more specifically during run time. Phonegap Build won't move things into the res directory, so the only alternative is to copy the icons from the www directory to the res directory after starting the app. If a plugin was going to copy something from the www to the res directory after the application has started, the R class has already been generated (it's dynamically generated) and ids are assigned. I don't think you could access a new resource added later. Please prove me wrong if that's not the case (see the link below for someone who thinks it might be possible).
I did find that in the newest android API (23 or code name M) they let you build your own Icon object, so that will work - dependent on PGB letting you build with targetSdkVersion of 23 and users having that version, nether which is the case. When that happens, it would look like:
    Bitmap iconBitMap = GCMIntentService.getBitmapFromAsset(context, "www/res/icon/android/drawable/small_icon.png");
    Icon icon = Icon.createWithBitmap(iconBitMap);
NotificationCompat.Builder mBuilder =
			new NotificationCompat.Builder(context)
                             .setSmallIcon(icon)

@shamank and @mauron85, any luck on other solutions?
Lastly, I saw this guy post a similar question to SO: http://stackoverflow.com/questions/30802589/how-to-add-native-image-with-phonegap-build
In his comments he mentioned having a plugin to do the copying. I don't have enough SO reputation to post a comment back to him for further clarification.

@kentmw what I'm suggesting is using/abusing the way plugins are installed in your project. The plugin.xml contains entries that tell plugman where to install the files into your project. By creating a plugin that contains your notification icons and plugin.xml with resource-file entries it should copy the icons over for you. Your plugin would have no runtime components.
The inappbrowser is an example of a plugin that has resource images. You can see it here https://github.com/apache/cordova-plugin-inappbrowser/blob/master/plugin.xml#L53

@smdvdsn awesome. I didn't realize that plugins could move things over to the res directory. @shamank, did you write a plugin to do this? Otherwise I'll take a stab at it today.

Hmm... it seems that the resources that the plugin can grab have to be inside the plugin itself... which makes making a generic one impossible.

I haven't released the plugin publically, just trying it out privately so far. But you can take a look at: https://github.com/kentmw/secondary-icon

@kentmw secondary-icon looks nice, but how will you propagate it to PGB? The only way in my mind is npm. My I don't encourage anybody to do so. It's a crazy idea to polute npm with res only plugins.

Well, you have to fork the project as resources are only accessible to the plugin project and when you do so, the plugin contains your propriatary content, so it should be a private plugin. If it's a private plugin, it shouldn't be on npm or PGB as a public plugin, so I'm submitting my fork as a private plugin to PGB.

Ahh. I forgot that there are private plugins on PGB. Then it sounds like solution. Need to start paying adobe tho. :-(

If you found it useful, plus one the answer to SO: http://stackoverflow.com/questions/30802589/how-to-add-native-image-with-phonegap-build/33221780#33221780 so people know to look here and contribute to the conversation.

Well, I got to the same conclusion than you guys, so after spending some time developing such plugin I desisted and updated my app icon instead (I know, it sucks).
I hope PGB people understand the importance of creating an elegant way for dealing with this for their next updates.
If you want to say something or contribute with this "feature request", this is what I wrote a month ago in their forum: http://community.phonegap.com/nitobi/topics/can-i-add-custom-images-in-the-drawable-directory

PS: Any of you is having issues with iOS push notifications? It doesn't work anymore since I implemented this plugin.

Implemented which plugin? Phonegap-plugin-push or secondary-icon?
On Tue, Oct 20, 2015, 9:44 AM Luciano Fantuzzi<EMAIL_ADDRESS>wrote:

PS: Any of you is having issues with iOS push notifications? It doesn't
work anymore since I implemented this plugin.
—
Reply to this email directly or view it on GitHub
https://github.com/phonegap/phonegap-plugin-push/issues/118#issuecomment-149572484
.

Phonegap-plugin-push. I didn't use the last one.

Getting Adobe attention?
https://github.com/phonegap/build/issues/472

Maybe your problem is similiar to this: http://stackoverflow.com/questions/20596213/white-notification-icon-for-android-with-phonegap-build-and-pushplugin/34089596#34089596
Check if my answer solves the problem: http://stackoverflow.com/a/34089596/3948755

Please go comment on this issue.
https://github.com/cordova/cordova-discuss/issues/6
The best way forward is to get this into a new version of Cordova that can be picked up by PGB.

And after 3 months we are still stuck here, with a "workaround" (using all my app main icons set with transparencies -to fit the different sizes and screens-) because there's no way to reach the resources directory. Did someone solved this in any way?
To PGB developers: Would it be possible for you to allow adding custom icons / images exactly the same you do for app / splash images? Ie.:
<!-- Valid tag -->
<icon src="my-path/icon-36-ldpi.png" gap:platform="android" gap:qualifier="ldpi" />

<!-- New custom tag -->
<icon src="my-path/custom.png" gap:platform="android" gap:qualifier="custom" />

@shamank see my previous comment. Getting this added into Cordova is the best way to go.

http://phonegap.com/blog/2015/11/19/config_xml_changes_part_two
About the last part ("Splashscreens and Icons"), where inside the iOS tag you don't specify things like gap:something:
<platform name="ios">
  <icon src="ios/icons/100.png" width="100" height="100" />
  <splash src="ios/splash/default.png" width="320" height="480" />
</platform>

Is it possible now to do this...
<platform name="android">
  <icon src="my-path/custom.png" width="100" height="100" />
</platform>

...with custom.png being moved to native Android's assets folder?

@shamank no, the tags icon and splashscreen specify exact locations for things to be copied to.

@macdonst but if those paths (src attribute) are target locations, how does PGB builder know the source file to be copied from? I think they act the same as before but just inside a tag defining the scope (platform name="X"). My hope was because of the contents (icon & splash tags) inside the ios platform tag, where they don't specify "gap" attributes, so I thought they are now being copied to the assets folder as is.
PS: I agree with you and just added a comment to the thread in your link.

guys, it looks like there's support from november for including custom files in the res directory (and subdirectories): https://github.com/phonegap/build/issues/401#issuecomment-156277041

I can confirm it works :D problem solved!

@shamank Could you explain more detail ? About how to use custom image, and how to configure  PushNotification to use my custom icon.

@kun192 Short solution:
push = PushNotification.init({
    "android": {
        "senderID": "blablala",
        "icon": "pin", // It will search for pin.png in your android drawable folder
        "iconColor": "#00AABB"
    }
});

To allow the plugin to use a custom icon (pin.png) and not taking the default app icon (icon.png) just add the locales/android/drawable folder structure in the root of your project (Ie. where it's supposed you have your main index.html) and add the custom icon file (pin.png) inside: locales/android/drawable/pin.png
The builder will merge your custom drawable contents with the ones in the /res/drawable folder, prioritizing yours.
I'm using phonegap-version cli-5.2.0.

The stackoverflow question was updated with @shamank's suggestion.
http://stackoverflow.com/questions/30802589/how-to-add-native-image-with-phonegap-build/33221780#33221780

I'm going to re-open this so I will remember to document it. :smile:

Anybody know what size the icon PNG should be?

@benmcmaster 24x24px

I am using the image, generated by https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.type=image&source.space.trim=1&source.space.pad=0&name=system even but the icon is still white. In my init I use
window.PushNotification.init({
        android: {
          senderID: GCM_SENDER_ID,
          icon: "system",
        },
        ios: {
          alert: true,
          badge: false,
          sound: false,
        },
        windows: {
        },
      })


Included option to disable progress bar for PyTorch Lightning models

solved issue #25.

Should the default be False then?

Depends on whether we believe that the standard user runs experiments on a cluster or not. I would say that is not the case.


Fix incorrect user domain returned in user object

Closing this PR since the fix is already done with https://github.com/wso2/carbon-kernel/pull/2510


OTA Requestor should use the provider node ID from the image URI for downloads

Problem
Currently, OTA Requestor is always using the same node ID to query and download. In the QueryImageResponse, there is an image URI which contains additional information. Specifically, the spec says:
The URI’s authority field SHALL contain only the host portion and SHALL use string representation of the [Operational Node ID](file:///Users/carolyang/workspace/connectedhomeip-spec/build/html/index.html#ref_NodeID) of the Node where to proceed with the download, on the same Fabric on which the OTA Requestor received the QueryImageResponse.

This node ID will most likely be the same for query and download. But in cases where that is not true, the OTA Requestor should use the node ID in the image URI during download. Note that the ApplyUpdateRequest and NotifyUpdateApplied should still be done on the original provider node ID used for query.
Proposed Solution
Keep track of the node ID in the image URI and use it to establish a CASE session with that node ID for downloading OTA images.

https://github.com/CHIP-Specifications/connectedhomeip-spec/pull/4993 changed the spec wording for v1.0. Specifically:

The usage of a different Node ID than that of the provider is reserved for future use.


Enforce trailers

The signed-off-by  is not the only trailer which can be expected in a message. For a complete list, see: https://git.wiki.kernel.org/index.php/CommitMessageConventions
Please let me know on this issue if you need the enforcement of other trailers and discuss how it should be implemented.

Is it possible to "reverse" the implementation so that the user provides the patterns of the trailers they wan't to verify?
It could be implemented with either regex or simpler starts with logic.
Eg:
    steps:
      - name: Check
        uses: mristin/opinionated-commit-message@v2
        with:
          trailers:
            - Reported-by:
            - Signed-off-by:
            - Resolves: #\d+
            - See also:

Is it possible to "reverse" the implementation so that the user provides the patterns of the trailers they wan't to verify?
It could be implemented with either regex or simpler starts with logic.
Eg:
    steps:
      - name: Check
        uses: mristin/opinionated-commit-message@v2
        with:
          trailers:
            - Reported-by:
            - Signed-off-by:
            - Resolves: #\d+
            - See also:

@nhhagen I would include both. Signed-off-by is standardized in Git. The remainder are more like conventions for which the user needs to write her project-specific regular expressions.
I am not using the trailers at all -- would you directly use them? (I'm asking to figure out how to assign the priority.)

@nhhagen I would include both. Signed-off-by is standardized in Git. The remainder are more like conventions for which the user needs to write her project-specific regular expressions.
I am not using the trailers at all -- would you directly use them? (I'm asking to figure out how to assign the priority.)

Also, what about the cardinality? Multiple values possible (exactly-once by default?)
Are these fields really always at the end?

Also, what about the cardinality? Multiple values possible (exactly-once by default?)
Are these fields really always at the end?

@nhhagen just to confirm, you use these trailers to enforce that every commit is linked to an issue?

@nhhagen just to confirm, you use these trailers to enforce that every commit is linked to an issue?

Not to enforce, but to link if there is a related issue. There is no rush for enforcement yet for us.

Not to enforce, but to link if there is a related issue. There is no rush for enforcement yet for us.

@nhhagen sorry, I think I misunderstood: the "Resolves" and "fixes" are both optional? If that is the case, what behavior do you then expect?

@nhhagen sorry, I think I misunderstood: the "Resolves" and "fixes" are both optional? If that is the case, what behavior do you then expect?


Scroll back to 6 rows month

Hi.
I have a problem when I scroll back to a full 6 rows month, for example from September 2020 to August 2020.
Inside the monthScrollListener calling findLastVisibleDay() I get the 30th of August, instead of 6th of September.
This is the parameters of the CalendarView
app:cv_outDateStyle="endOfRow"
app:cv_inDateStyle="allMonths"
app:cv_scrollMode="paged"
app:cv_maxRowCount="6"
Am I missing something?
Thanks a lot!

I think you're getting an inDate, which is correct. Please check owner property of the returned CalendarDay before using it.

Using the above image as an example, if you query the calendar for the first visible date, you'll get 29th of the previous month.


Form field with image are not visible

Acroform field with image is not visible with pdf.js. Although with adobe reader and I tried few other renderers it is visible.
Update:
This issue is with PDF.js shipped with Mozilla. It worked with pdf.js 3.4.120
PDF Link: Sample_form_filled.pdf (archive: Sample PDF Zip Download)
Configuration:

Web browser and its version:  Mozilla 110
Operating system and its version: Windows 10
PDF.js version:  3.3.56

Steps to reproduce the problem:

Download the zip(Link Above) and unzip the pdf
Open in latest Mozilla browser or render with sample pdf.js example

Expected behavior in adobe reader

Not visible when opened in Mozilla

As you can see, Image is available in PDF

Thanks in advance

Can you assign this to me... I am willing to work on this

Fixed by #16387.


Offline message handling

Offline message handling for TextileService, based on OB. The basic idea is to store messages in the DHT if the recipient is offline. A retriever runs periodically, looking for new messages.

Got the pieces in place here, now to get it working...

Got this working on the plane - couple bits to iron out though.

For the Thread invites, I went with a few more parameters including in the invite than we have talked about previously (https://github.com/textileio/textile-mobile/pull/178/files#diff-422240a0aedd992418cfb42e4e6cab18R14). Specifically, the device will now want the key and also the name of the invitee as from and the provided name for the thread as name. This allows us to be a bit more detailed in the invite confirmation step and will allow us to provide a name immediately on joining.

Ok, cool. Just to be clear, you are talking about external invites, correct? As in not pairing (both use the links). In this branch, the framework generates an external invite link that looks like:
https://www.textile.io/clients/#invite=QmeHJZQYiRdHETequdgaPNs8BQd1wJwZCXvMWksXiFrTEH&key=17R74Tgcw9hC41x9fvaZQPtiRSA17R74QGR5hTRivzNj&name=boom
(name is included, which is a suggested thread name... if you already have that name locally, it bumps to name_1, eg, cats -> cats_1, up to 100 tries, then will error out)
based on chats, was planning to:

include an external invite host+path in the node config, swap that out
replace the word invite with id since it looked like you wanted the word "invite" in the path
my thinking here was you could add more params like referral/from at the application level, they aren't important at the go layer (will be ignored)

okay, that sounds good + makes sense


Refactor & expand utilities. Add fake enchantment for ItemBuilder

Split Utility into StringUtil & NumberUtil for organization.
Added functions to StringUtil that may come in handy.
Added min(...) to NumberUtil for consistency.
Added fake enchantment for use in ItemBuilder, in the case we want an item with the enchantment glow with no special effects.

Other notes:
Personally, there are things I really like about your ItemBuilder, but technically speaking it doesn't "build" anything. A builder class should not modify the resulting item as the methods are called, it should keep everything separate until a build() method is called, to which it will then take all stored variables and combine them into an ItemStack.

I specifically avoid making ItemBuilder a bloatware of countless variables that each have to be referenced and modified - my version takes less memory overall. The goal of the ItemBuilder is to allow chaining of ItemStack modifications, quickly modify existing ItemStacks and perhaps take different types of input (e.g. List and String[]). Additionally, I want this to be dependent on Bukkit's definition of ItemStack rather than having to change the variables in the ItemBuilder in the future.
I'm aware it's not necessarily a 'builder', I can't quite find a truer name, but I'm definitely not going to change the very useful function to fit a very close enough name.

Thank you for your contribution though! 😊


driver: watchdog: Error handling issues in wdt_wwdg_stm32.c

This patch changes wwdg_stm32_get_pclk function to test the return value of clock_control_get_rate
It fixes the issue Error handling issues in /drivers/watchdog/wdt_wwdg_stm32.c #20503
[Coverity CID :205655]
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

Completes the fix of Error handling issues in /drivers/watchdog/wdt_wwdg_stm32.c [#20503]
applying the test of retrun code clock_control_get_rate in other drivers:  i2c, pwm, uart, spi

include logging/log.h

rebase

rebase


Webpack failing to compile

Running OS X 10.12.5, Node v8.1.0, npm 5.0.3. Elixir 1.4.
Followed the instructions in README to the letter. Output:
[info] Running Webpacker.Web.Endpoint with Cowboy using http://<IP_ADDRESS>:4000
Interactive Elixir (1.4.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Project is running at http://localhost:8080/
webpack output is served from http://localhost:8080/
(node:33584) DeprecationWarning: loaderUtils.parseQuery() received a non-string value which can be problematic, see https://github.com/webpack/loader-utils/issues/56
parseQuery() will be replaced with getOptions() in the next major version of loader-utils.
Hash: abb05cbe31c5870b8d7e
Version: webpack 2.6.1
Time: 3200ms
          Asset       Size  Chunks                    Chunk Names
      js/app.js     1.5 MB       0  [emitted]  [big]  app
    favicon.ico    1.26 kB          [emitted]
     robots.txt  202 bytes          [emitted]
images/.gitkeep    0 bytes          [emitted]
chunk    {0} js/app.js (app) 1.3 MB [entry] [rendered]
   [63] ./~/css-loader!./~/postcss-loader!./~/stylus-loader!./stylus/app.styl 1.54 kB {0} [built]
   [89] ./~/react/react.js 56 bytes {0} [built]
  [124] ./~/react-dom/index.js 59 bytes {0} [built]
  [167] (webpack)/hot/emitter.js 77 bytes {0} [built]
  [168] ./js/app.js 456 bytes {0} [built]
  [169] ./stylus/app.styl 1.13 kB {0} [built]
  [170] (webpack)-dev-server/client?http://localhost:8080 5.68 kB {0} [built]
  [171] (webpack)/hot/dev-server.js 1.57 kB {0} [built]
  [174] ./js/components/Hello.jsx 5.02 kB {0} [built]
  [428] ./~/strip-ansi/index.js 161 bytes {0} [built]
  [429] ./~/style-loader/addStyles.js 6.91 kB {0} [built]
  [431] ./~/url/url.js 23.3 kB {0} [built]
  [433] (webpack)-dev-server/client/overlay.js 3.73 kB {0} [built]
  [434] (webpack)-dev-server/client/socket.js 897 bytes {0} [built]
  [437] multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server js/app.js stylus/app.styl 64 bytes {0} [built]
     + 423 hidden modules

ERROR in ../deps/phoenix_html/priv/static/phoenix_html.js
Module build failed: Error: Couldn't find preset "es2015" relative to directory "/Users/adamwiggall/Projects/webpacker/deps/phoenix_html/priv/static"
    at /Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
    at Array.map (native)
    at OptionManager.resolvePresets (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)
    at OptionManager.mergePresets (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)
    at OptionManager.mergeOptions (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14)
    at OptionManager.init (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
    at File.initOptions (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/file/index.js:212:65)
    at new File (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/file/index.js:135:24)
    at Pipeline.transform (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-core/lib/transformation/pipeline.js:46:16)
    at transpile (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-loader/lib/index.js:46:20)
    at Object.module.exports (/Users/adamwiggall/Projects/webpacker/assets/node_modules/babel-loader/lib/index.js:163:20)
 @ ./js/app.js 9:0-23
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server js/app.js stylus/app.styl
webpack: Failed to compile.

So it appears that phoenix_html in the debs isn't playing nicely with Babel?
Some googling showed the same issue for an Pheonix 1.2, I followed the steps in there recommended by Chris McCord, but problem persisted.
Any ideas?

@adamwiggall I'll look into this. In the meantime, could you do me the favor and link the article by Chris McCord you were referring to?

My bad, it's actually an issue raised on phoenix itself: https://github.com/phoenixframework/phoenix/issues/1410

@adamwiggall Since I don't own a Mac and it lokked like a Node/npm specific error, I tried reproduce it on my system (Linux Mint) using the same Node and npm versions you mentioned.
I got the same error. So it had to be either Node or npm. When I installed the Node dependencies with Yarn, however, it worked flawlessly, so you might try that or use an earlier npm version, until the issue is resolved.
I'm still investigating, but if you happen to get to the root of the error, please drop me a line.

I think I found the issue. Please try the following:

Open webpack.config.js
Remove or comment out the following lines from the babel loader options:

presets: [
  ['es2015', {modules: false}]
]

These lines are superfluous, since we're using a .babelrc, anway.
Please let me know, whether it worked for you. I'll patch this in a few minutes.

If this doesn't resolve the issue for you, please let me know.

I'll try it a little later, away from the office until then.
I'll update you.

That works. Thanks.
No live reloading happening though? Is this part of the setup?

Oh, sorry. I updated the Node dependencies too and it seems I had to set a Access-Control-Allow-Origin header. I did it in the webpack.config.js. So, if you either pull version 0.1.7 or add the following to your webpack.config.js, everything should work again:
    devServer: {
      headers: {
        "Access-Control-Allow-Origin": "*",
      }
    },

You can add this anywhere in the returned config object, for example after the output property (see the webpack config in v0.1.7).
I hope that resolves the issue now. I tested it and it worked for me.

Perfect, works just fine.
Thanks once again.

No problem, thank you for reporting!
By tge way, if I may ask, what are you building with webpacker?

The app being built is going to be a land management app.

this fixed a webpack issue on xenial with node 8, thanks


Enable multiple upgrade paths in the packit config

Let's enable multiple upgrade paths, each for proper target.
Depends on packit/packit-service/issues/1507 implementation.

/packit test

Whoops, the key was missing in the schema

/packit test


Proto integration

Original concept was to have a vertically structured backtesting engine due to the potential complexity doing something more horizontal with Rust's borrow checker.
Due to the requirements of the applications downstream, a horizontal structure that provides multi-language support seems to be a better choice.
The existing components will be separated from each other and communicate over rpc with proto messages. This provides horizontal scalability, would make it possible to swap components between languages based on perf requirements, and potentially validate use in production because the components would be actually distinct.

Create the proto files
Go through these interfaces and look for potential leakage of state between components in existing interfaces
Implement the proto components

Mothballing. Implemented a clock and data source with gRPC/proto, performance make this unusable.


[ZEPPELIN-5648] log4j.properties is not configured properly for spark interpreter

What is this PR for?
For spark interpreter, the class name and method are not printed (It is always Logging.scala).
This PR fixed this issue by updating the log4j.properties.
What type of PR is it?
[Bug Fix ]
Todos

[ ] - Task

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-5648

How should this be tested?

Manually tested

Screenshots (if appropriate)
Before this PR

After this PR

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Please provide an example (after, before).
It seems that the Zeppelin server log4j configuration is also adjusted. There should not be the Logging.scala problem.

Thanks for the review @Reamer  I added the screenshot

Thanks for the screenshots.
I think that the line number :57 is very confusing. We should remove the line number of Logging.scala as well.
In addition, it seems that you also adjust the log4j configuration of the Zeppelin server. The Zeppelin server is not affected by this issue. Here, of course, the previous output is much more helpful.

Sorry for late response @Reamer :57 is very confusing This is in the first screenshot (before this PR), the second screenshot is the logs after this PR.
The reason I update log4j.properties of zeppelin-server is just to make the logs of zeppelin-server & interpreter consistent.

I would prefer the Spark log format without :%L. Otherwise we have the confusing log line number.
Take a look at the Spark project.
https://github.com/apache/spark/blob/v3.2.0/conf/log4j.properties.template#L23


Use <For /> in Documentation

Overview
We need to update our documentation to use the <For /> component where applicable. This issue tracks the progress of updating component examples.
Components to Update
Layouts

[x] #3695
[x] #3696
[ ] #3697
[ ] #3698
[x] #3699
[x] #3700
[ ] #3701
[ ] #3702

Typography

[ ] #3703
[ ] #3704
[x] #3705
[ ] #3706
[ ] #3707

Forms

[ ] #3708
[ ] #3709
[ ] #3710
[ ] #3711
[ ] #3712
[ ] #3713
[ ] #3714
[ ] #3715
[ ] #3716
[ ] #3717
[ ] #3718
[ ] #3719
[ ] #3720
[ ] #3721
[ ] #3722
[ ] #3723
[ ] #3724
[ ] #3725
[ ] #3726
[ ] #3727
[ ] #3728
[ ] #3729
[ ] #3730
[ ] #3731
[x] #3732
[ ] #3733
[ ] #3734
[ ] #3735
[ ] #3736
[ ] #3737
[ ] #3738
[ ] #3739
[ ] #3740
[ ] #3741

Data Display

[x] #3742
[x] #3743
[x] #3744
[ ] #3745
[ ] #3746
[ ] #3747
[ ] #3748
[ ] #3749
[ ] #3750
[ ] #3751
[ ] #3752
[ ] #3753
[ ] #3754
[ ] #3755
[ ] #3756
[ ] #3757
[ ] #3758
[ ] #3759
[ ] #3760
[ ] #3761
[ ] #3762

Navigation

[ ] #3763
[ ] #3764
[ ] #3765

Disclosure

[ ] #3766
[ ] #3767

Overlay

[ ] #3768
[ ] #3769
[ ] #3770
[ ] #3771
[ ] #3772

Feedback

[ ] #3773
[ ] #3774
[ ] #3775
[ ] #3776

Media and Icons

[ ] #3777
[ ] #3778
[ ] #3779
[ ] #3780

Other

[ ] #3781
[x] #3782
[ ] #3783
[ ] #3784
[ ] #3785

Hooks

[ ] #3786
[ ] #3787
[ ] #3788
[ ] #3789

Example Usage
<For each={items}>{(item, index) => <Text key={index} fontWeight="bold">{item}</Text>}</For>

Can you please assign this to me?

@yu-yaba
Hi, Since this issue is a parent issue, can you comment on the child issue you would like to do?

Sorry, I was in such a hurry to contribute that I didn't check properly.


fallback when command message is deleted

getting useful output from certain plugins relies on the command message still existing. feedback should be sent regardless, especially when an unhandled exception happens. there should be an easy shared way for plugins to reply if they want but fall back to a non-reply

https://discord.js.org/#/docs/main/stable/typedef/ReplyMessageOptions

resolved by 6086afa72c953c82f8b5cd46545125edc15ab6c5


Annotations

Added support for annotating symbols and citations within the interactive reader.

To enter annotation mode, a user types 'Ctrl+Shift+A'. (They can later disable annotation mode, and hide all manual annotations, by typing 'Ctrl+Shift+A' a second time).
To annotate an entity, a user clicks once to start rectangular selection, and then clicks a second time to finish that selection. Then an entity annotation is created! Annotations can be created on any page.
Each entity has a tag that indicates whether it's a citation of a symbol. To change the tag for an entity, click on that entity, and then choose "Citation" or "Symbol" from the tooltip that appears, or type "c" for citation or "s" for symbol. Citations are colored green and symbols are colored purple.
To delete an annotation, click on that annotation and type "Delete", or click the delete button in the tooltip that appears when the annotation is selected.
Annotations are stored in the database as soon as they're created. They are therefore persistent (you can close and re-open the reader and they will still be there) and shared across users.
Feedback requested:
@codeviking: Did I commit an egregious sins in writing the React code? While most users won't use the annotations, annotation functionality will probably be kept in the code for the foreseeable future.
@kyleclo: You and I are going to use this tool starting possibly tomorrow. Got any feedback for the interaction design to make annotation easier for us?

Notes from @kyleclo:

Can we add annotator ID
Can we add record creation and update dates?

Notes from @kyleclo:

Can we add annotator ID

In theory yes, it should be pretty simple. Hopefully I get a chance to do this before we start annotating papers. I'll save that for a future PR.

Can we add record creation and update dates?

Yup! Done.


Disable managing passwords

Disable the settings 'Manage passwords' (kCredentialsEnableService) and 'Auto Sign-in' (kCredentialsEnableAutosignin) by default at chrome://settings/passwords.

To be honest, it's just the default. Normally Chromium prompts you whenever you want to remember a password for a given site, or just to never prompt again on this site/all sites - most people would just disable this feature in the first prompt and never see it again on that profile anymore. It would be also yet another patch to maintain (and, while small, it would require some minor attention during upgrades).

@DragoonAethis, I just tried saving a password with the v62 to be sure and it only offers to disable the option for the current site, making it necessary to disable it at the settings page if you don't need it.
Disabling it should be a saner setting but it applies mostly for new users who didn't set up a profile yet.
I'm fine either way :)

@xsmile It's all about whenever you want to maintain this or not, but I'm cool with any option here too ;)


List all the things #1253

Dearest Reviewer,
This resolves #1253 which is about moving the --list command to a full
command. The command does not use any options currently. I left the list
flag with a deprecation message.
I moved some macros and other functions to the cargo lib so that I could
reuse them in the list command. However, there is an issue linked in the
pull request to the current version of rust failing to compile. I could
not figure out how to work around this so I left the copy of the macros
in the main program. Moving forward one would need to add an
main cargo bin.  I did not implement any options as I am unsure what
they would do.
Thanks
Becker

r? @wycats
(rust_highfive has picked a reviewer for you, use r? to override)

I think this is related to https://github.com/rust-lang/rust/issues/32185 but I dont understand the answer there and I cant locate something that seems related in the release notes.

Thanks! The hammer of deprecation may be slightly heavy here in the sense that we could easily just make --list an alias of cargo list perhaps?
Curious what others think though! (cc @rust-lang/tools)

I will remove the deprecation message. Is there another way to do alias beyond what I am currently doing at https://github.com/rust-lang/cargo/pull/2683/files#diff-847cd20bb1f94e626f11c2eb7358f4beR138 ?

Alias seems fine to me. Is there any advantage to getting rid of --list (i.e., should we be planning to move to that eventually)?

I would like to move to a single way to call the list command. It keeps the docs and understanding clean. I think --help is the only other single flag function currently. Currently the alias doesn't support other flags. So if we do add other flags cargo --list -VV will not "just work". Less code.
I guess I would also ask 'why keep --list?'.

I would like to move to a single way to call the list command. It keeps the docs and understanding clean.

We don't have to document the old way. Why keep it = so as not to trip up users, change is painful, if we can avoid it, so much the better. Of course I would prefer to get rid, just for the sake of elegance and some reduced user confusion, but if we aren't freeing up a name or reducing code dup, then the benefit is not high.

Yeah I don't mind too much either way, to me the scales tip a little towards leaving it as it's not really hurting anyone and we can just stop documenting/recommending it.

I remove the warning message.

+1 to just leaving it undocumented forever.

I am down with leaving it. I mean this in the nicest way not in a passive aggressive internet way but I wish there was a good reason. If ripping it out is hard now when there are millions using cargo and building out tools on cargo it will be even harder to rip out. With that said it should never be ripped out and it should be fully documented and supported. If for nothing else so the next person who takes over doesnt wonder why there is an undocumented feature flag that is a full command.
Once again i am on board with what the tools team wants to do. If it is a hidden flag I will need to figure out how to remove it from the usage text box and and still parse it as a supported flag. I think the usage block informs the parser what to look for.
Thanks again everyone!
Becker

:umbrella: The latest upstream changes (presumably #2706) made this pull request unmergeable. Please resolve the merge conflicts.

Ok, got a chance to talk about this with @wycats as well, and it was brought up that this is all just kinda an option of cargo help, so perhaps this could just turn into cargo help --list? Then we'd just accept cargo --list as an alias for that.

Other options discussed with @rust-lang/tools would be to investigate how other tools handle this. For example how do bundler, git, and docker list all subcommands?

bundler uses help to list the commands it has. list option displays all the gems. I dont know if bundler allows for installed custom sub-commands
git uses help -a to display all the commands including sub-commands
docker just uses --help or nothing and displays all the commands. I dont know if you can install custom sub-commands for docker.
I can see cargo list listing out all the crates and their versions.
So ditch the new command and just alias help --list to the --list ?  What about help --all?

I think this is the direction this PR is going in https://github.com/rust-lang/cargo/pull/2721  If so please close this PR. If not I can close that PR.
Thanks!
Becker

Ok, thanks! Closing in favor of #2721


fix: SpotBugs reported warnings are eliminated.

@adrienbaron Formatter also did some minor changes in javadoc and few in code (mostly related to 100 symbols in line). So looks like Idea and Eclipse still formatting slightly different despite of "Google code style" profile activated.


Manual testing of build#313

Initial set-up
Check that the IntelliJ Idea UTBot plugin can be successfully installed

[x] Choose appropriate workflow from the list - buiild 313
[x] Download plugin
[x] Check downloaded zip-file size < 100 MB
[x] Open IntelliJ IDE
[x] Remove previously installed UTBot plugin
[x] Clone or reuse UTBot project (https://github.com/UnitTestBot/UTBotJava.git)
[x] Open the project in the IDE
[x] Install the downloaded plugin

Go through manual scenarios
Manual scenario #1

[x] Use default plugin settings
[x] Open the utbot-sample/src/main/java/org/utbot/examples/algorithms/ArraysQuickSort.java file
[x] Generate tests for the class
[x] Remove results
[ ] Generate and Run test for a method

Manual scenario #2

[ ] Use default plugin settings
[ ] Open the utbot-sample/src/main/java/org/utbot/examples/mock/CommonMocksExample.java file
[ ] Generate tests with different Mocking options combinations

Manual scenario #3

[ ] Create a new Gradle project with JDK 8
[ ] Add a simple java file to test
[ ] Generate a test in the existing test root

Manual scenario #4

[ ] Create a new Maven project with JDK 8
[ ] Add a simple java file to test
[ ] Generate a test with a new test root

Manual scenario #5

[ ] Create a new Idea project with JDK 11
[ ] Add a simple java file to test
[ ] Generate tests for several classes

reproducing #709

reproducing #786

new bug - #879

new bug #882


Optional NFT asset images

Should there be an optional token image, (avatar or thumbnail etc.) that a creator can specify?
Maybe brands would want to include their logo somewhere.
Or, using the art-o-matic POC as an example, my thinking is that whilst the list of artworks in the category looks good, what if the type is something else like music and you want to display an album cover.

IMO that would depend on the viewer. If it is an art viewer, it will only look at assets with and image in the nft_object. The spec allows for different types of NFTs, but the details haven't been nailed down as to formats of other NFTs. Art is the lowest hanging fruit and the easiest to implement (besides maybe like prose or something)

We also have to keep size constraints in mind to be good stewards of the network. We are trying to keep images to less than 30kb, so adding another thumbnail might go against that philosophy.
Could an art viewer site just render the art at a specific size for preview, then when expanding the image it displays fully?

Don't have any thoughts on this yet, but this is an interesting suggestion and discussion.

Could always show the hashicon/robohash for the issuer's account as a fallback.


pull request for e2e test at 01/21/2017 13:45:12

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Allow using variables in app arguments

Description of the issue:
Sometimes it is not possible to specify the all/best choice of parameters at compile/packaging time.
Namely the -Xmx?G option may only be known at runtime.
If I run it locally I might only need 500MiBs for testing purposes, but during production I might need 10GiB to serve/cache enough requests.
Thats why I tried to inject a variable into the jvmArgs
<jvmFlags>
    <jvmFlag>$ADDITIONAL_OPTIONS</jvmFlag>
</jvmFlags>

However this value was sent straight to the runner without getting resolved.
Main class "$ADDITIONAL_OPTIONS" not found
Expected behavior:
If ADDITIONAL_OPTIONS is not set (as env variable) it should be replaced by nothing.
If ADDITIONAL_OPTIONS is set (as env variable) it should be replaced by that value.
The behavior should be similar to calling this from the command line:
export ADDITIONAL_OPTIONS=-Xmx1G
java -Dfoo=bar $ADDITIONAL_OPTIONS -cp ...

Environment:

Java 8
Maven 3.5
Spring 5

Hi @ST-DDT , I believe your issue can be solved using JAVA_TOOL_OPTIONS: https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#how-do-i-set-parameters-for-my-image-at-runtime Feel free to re-open if this is solution does not work for you.


Fix error in .podspec file

The .podspec repository was outdated using the old references to the repository of @czechboy0 that doesn't exist anymore and that implies that all the dependencies using this repository fails in pod install.
The following issues were solved in this pull request:

Fix the source of the repository.
Fix the issue with the prefix v in the tag version.

The validation using  pod spec lint was correct. Nevertheless before run pod spec lint to validate the specs I recommend read this issue regarding Swift 3.0 validation specs.
Also it would be great if the pull request is merged please update the Specs repository in CocoaPods using pod trunk push [XXX.podspec] because the last version submitted is 0.1 and does not exist anymore.

Thanks for the PR, I've run the lint's and both spec and lib lint succeeded, so I have merged your changes.
I am just waiting for the ownership of the pod to get transferred to me and then I will update the trunk. 🎉

@nickskull 😅 Thanks for you quick reply !!!. It's sounds great. Sorry for the hurry but I want to start to migrate Buildasaur to Swift 3 and start to contributing in the project, but right now is impossible.
Please can you let me know when you update the trunk?
Thanks 👍

@Vkt0r I completely understand your troubles and as soon as I have the ownership I will push it and let you know! 💯  👍

@nickskull Perfect!!!! 👍👍👍

@Vkt0r Podspec is now pushed to the trunk and should be ready to use. 😄  🎉

@nickskull 😄 🎉 Thanks it works perfect!!! BuildaUtils is working now!!!


fix: markdown pages heading creation

Description
Normalize @theme/Heading component usage
Motivation and Context
Due to headings creation using html elements, some headings didn't have classnames or had different classnames across the markdown pages. This was preventing or making more difficult to customize styles when using this library
How Has This Been Tested?
Check the following pages Headings H1 and H2:

Go to /petstore/swagger-petstore-yaml and check Swagger Petstore YAML, Authentication
Go to /petstore/subscribe-to-the-store-events and check Request, Responses, Callbacks

Types of changes

Bug fix (non-breaking change which fixes an issue)

Checklist

[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes if appropriate.
[x] All new and existing tests passed.

Looks good - do you think this is something we should/could back port to v2?


[ChatQnA] TEI 1.5 causes an error starting the tei-reranking-server

I was updating my Terraform/Ansible recipe this morning and I ran into this error while trying to start the example using the provided compose.yaml file.
Error: Could not create backend

Caused by:
    Could not start backend: Failed to create ONNX Runtime session: Deserialize tensor onnx::MatMul_3121 failed.GetFileLength for /data/models--BAAI--bge-reranker-large/snapshots/55611d7bca2a7133960a6d3b71e083071bbfc312/onnx/model.onnx_data failed:Invalid fd was supplied: -1

The reranking container then exits.
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED          STATUS                      PORTS                                                                                NAMES
ff5e425f0098   opea/chatqna-ui:latest                                  "docker-entrypoint.s…"   11 minutes ago   Up 11 minutes               <IP_ADDRESS>:5173->5173/tcp, :::5173->5173/tcp                                              chatqna-xeon-ui-server
db9e4993a00c   opea/chatqna:latest                                     "python chatqna.py"      11 minutes ago   Up 11 minutes               <IP_ADDRESS>:8888->8888/tcp, :::8888->8888/tcp                                              chatqna-xeon-backend-server
57845af811cd   opea/reranking-tei:latest                               "python reranking_te…"   11 minutes ago   Up 11 minutes               <IP_ADDRESS>:8000->8000/tcp, :::8000->8000/tcp                                              reranking-tei-xeon-server
82d83238b4fe   opea/llm-tgi:latest                                     "bash entrypoint.sh"     11 minutes ago   Up 11 minutes               <IP_ADDRESS>:9000->9000/tcp, :::9000->9000/tcp                                              llm-tgi-server
7347b2fb4a3b   opea/embedding-tei:latest                               "python embedding_te…"   11 minutes ago   Up 11 minutes               <IP_ADDRESS>:6000->6000/tcp, :::6000->6000/tcp                                              embedding-tei-server
97ef7cfeb315   opea/dataprep-redis:latest                              "python prepare_doc_…"   11 minutes ago   Up 11 minutes               <IP_ADDRESS>:6007-6009->6007-6009/tcp, :::6007-6009->6007-6009/tcp                          dataprep-redis-server
12c84f7e9667   opea/retriever-redis:latest                             "/home/user/comps/re…"   11 minutes ago   Up 11 minutes               <IP_ADDRESS>:7000->7000/tcp, :::7000->7000/tcp                                              retriever-redis-server
c573346d18c1   redis/redis-stack:7.2.0-v9                              "/entrypoint.sh"         11 minutes ago   Up 11 minutes               <IP_ADDRESS>:6379->6379/tcp, :::6379->6379/tcp, <IP_ADDRESS>:8001->8001/tcp, :::8001->8001/tcp   redis-vector-db
c7d1c7f0763d   ghcr.io/huggingface/text-generation-inference:2.1.0     "/tgi-entrypoint.sh …"   11 minutes ago   Up 11 minutes               <IP_ADDRESS>:9009->80/tcp, :::9009->80/tcp                                                  tgi-service
3ac952569089   ghcr.io/huggingface/text-embeddings-inference:cpu-1.5   "text-embeddings-rou…"   11 minutes ago   Exited (1) 10 minutes ago                                                                                tei-reranking-server
47f803c58222   ghcr.io/huggingface/text-embeddings-inference:cpu-1.5   "text-embeddings-rou…"   11 minutes ago   Up 11 minutes               <IP_ADDRESS>:6006->80/tcp, :::6006->80/tcp                                                  tei-embedding-server

I found the following issue on the TEI repo: https://github.com/huggingface/text-embeddings-inference/issues/341
If I switch the reranking service to use 1.4, then it starts correctly and the example works.
root@ip-172-31-29-103:/opt/GenAIExamples/ChatQnA/docker/xeon# docker ps -a
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED         STATUS         PORTS                                                                                NAMES
03154665e268   opea/chatqna-ui:latest                                  "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:5173->5173/tcp, :::5173->5173/tcp                                              chatqna-xeon-ui-server
319d28eeb771   opea/chatqna:latest                                     "python chatqna.py"      2 minutes ago   Up 2 minutes   <IP_ADDRESS>:8888->8888/tcp, :::8888->8888/tcp                                              chatqna-xeon-backend-server
3a0ca8da9838   opea/llm-tgi:latest                                     "bash entrypoint.sh"     2 minutes ago   Up 2 minutes   <IP_ADDRESS>:9000->9000/tcp, :::9000->9000/tcp                                              llm-tgi-server
3a78c4595faa   opea/reranking-tei:latest                               "python reranking_te…"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:8000->8000/tcp, :::8000->8000/tcp                                              reranking-tei-xeon-server
54dd50950c0d   opea/dataprep-redis:latest                              "python prepare_doc_…"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:6007-6009->6007-6009/tcp, :::6007-6009->6007-6009/tcp                          dataprep-redis-server
ec9fc6be5ddd   opea/retriever-redis:latest                             "/home/user/comps/re…"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:7000->7000/tcp, :::7000->7000/tcp                                              retriever-redis-server
3432e3e8b6a4   opea/embedding-tei:latest                               "python embedding_te…"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:6000->6000/tcp, :::6000->6000/tcp                                              embedding-tei-server
d154ee44dce7   ghcr.io/huggingface/text-generation-inference:2.1.0     "/tgi-entrypoint.sh …"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:9009->80/tcp, :::9009->80/tcp                                                  tgi-service
632f404a5be9   redis/redis-stack:7.2.0-v9                              "/entrypoint.sh"         2 minutes ago   Up 2 minutes   <IP_ADDRESS>:6379->6379/tcp, :::6379->6379/tcp, <IP_ADDRESS>:8001->8001/tcp, :::8001->8001/tcp   redis-vector-db
d11a7d3770e7   ghcr.io/huggingface/text-embeddings-inference:cpu-1.4   "text-embeddings-rou…"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:8808->80/tcp, :::8808->80/tcp                                                  tei-reranking-server
ab513f0a9810   ghcr.io/huggingface/text-embeddings-inference:cpu-1.5   "text-embeddings-rou…"   2 minutes ago   Up 2 minutes   <IP_ADDRESS>:6006->80/tcp, :::6006->80/tcp                                                  tei-embedding-server

@kevinintel and @lvliang-intel any chance we can revert to TGI 1.4 till the Hugging face bug is resolved. This example otherwise fails.

Thanks @mkbhanda
I'm testing with 1.5 today and I'm not seeing this issue:
$ docker compose -f compose.yaml logs reranking -f
...
reranking-tei-xeon-server  | [2024-07-31 23:49:43,238] [    INFO] - CORS is enabled.
reranking-tei-xeon-server  | [2024-07-31 23:49:43,239] [    INFO] - Setting up HTTP server
reranking-tei-xeon-server  | [2024-07-31 23:49:43,239] [    INFO] - Uvicorn server setup on port 8000
reranking-tei-xeon-server  | INFO:     Waiting for application startup.
reranking-tei-xeon-server  | INFO:     Application startup complete.
reranking-tei-xeon-server  | INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
reranking-tei-xeon-server  | [2024-07-31 23:49:43,255] [    INFO] - HTTP server setup successful

and:
$ docker compose -f compose.yaml ps | grep reranking
reranking-tei-xeon-server     opea/reranking-tei:latest                               "python reranking_te…"   reranking                    10 minutes ago   Up 9 minutes                   <IP_ADDRESS>:8000->8000/tcp
tei-reranking-server          ghcr.io/huggingface/text-embeddings-inference:cpu-1.5   "text-embeddings-rou…"   tei-reranking-service        10 minutes ago   Up 9 minutes                   <IP_ADDRESS>:8808->80/tcp

Would you please try again?
Thanks.

Is it possible that v0.7 containers are being mixed with latest code?

I'll test again, but the only mixing of code happening is that I'm using the latest compose.yaml file with the v0.7 containers and I don't see major differences for the reranking service, if I look at the history I don't see any major changes beyond the TEI version since v0.7.
I retested this morning and I'm getting the same error:
2024-08-01T13:00:54.638796Z  INFO text_embeddings_router: router/src/main.rs:175: Args { model_id: "BAA*/***-********-**rge", revision: None, tokenization_workers: None, dtype: None, pooling: None, max_concurrent_requests: 512, max_batch_tokens: 16384, max_batch_requests: None, max_client_batch_size: 32, auto_truncate: true, default_prompt_name: None, default_prompt: None, hf_api_token: None, hostname: "e6c5ab9b2197", port: 80, uds_path: "/tmp/text-embeddings-inference-server", huggingface_hub_cache: Some("/data"), payload_limit: 2000000, api_key: None, json_output: false, otlp_endpoint: None, otlp_service_name: "text-embeddings-inference.server", cors_allow_origin: None }
2024-08-01T13:00:54.638872Z  INFO hf_hub: /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/hf-hub-0.3.2/src/lib.rs:55: Token file not found "/root/.cache/huggingface/token"
2024-08-01T13:00:54.681575Z  INFO download_pool_config: text_embeddings_core::download: core/src/download.rs:38: Downloading `1_Pooling/config.json`
2024-08-01T13:00:54.863118Z  INFO download_new_st_config: text_embeddings_core::download: core/src/download.rs:62: Downloading `config_sentence_transformers.json`
2024-08-01T13:00:54.878546Z  INFO download_artifacts: text_embeddings_core::download: core/src/download.rs:21: Starting download
2024-08-01T13:00:54.878558Z  INFO download_artifacts: text_embeddings_core::download: core/src/download.rs:23: Downloading `config.json`
2024-08-01T13:00:54.960966Z  INFO download_artifacts: text_embeddings_core::download: core/src/download.rs:26: Downloading `tokenizer.json`
2024-08-01T13:00:55.108601Z  INFO download_artifacts: text_embeddings_backend: backends/src/lib.rs:313: Downloading `model.onnx`
2024-08-01T13:00:55.126338Z  WARN download_artifacts: text_embeddings_backend: backends/src/lib.rs:317: Could not download `model.onnx`: request error: HTTP status client error (404 Not Found) for url (https://huggingface.co/BAAI/bge-reranker-large/resolve/main/model.onnx)
2024-08-01T13:00:55.126364Z  INFO download_artifacts: text_embeddings_backend: backends/src/lib.rs:318: Downloading `onnx/model.onnx`
2024-08-01T13:00:55.166679Z  INFO download_artifacts: text_embeddings_core::download: core/src/download.rs:32: Model artifacts downloaded in 288.133574ms
2024-08-01T13:00:55.783229Z  WARN text_embeddings_router: router/src/lib.rs:195: Could not find a Sentence Transformers config
2024-08-01T13:00:55.783257Z  INFO text_embeddings_router: router/src/lib.rs:199: Maximum number of tokens per request: 512
2024-08-01T13:00:55.784582Z  INFO text_embeddings_core::tokenization: core/src/tokenization.rs:28: Starting 32 tokenization workers
2024-08-01T13:01:02.836291Z  INFO text_embeddings_router: router/src/lib.rs:241: Starting model backend
Error: Could not create backend

Caused by:
    Could not start backend: Failed to create ONNX Runtime session: Deserialize tensor roberta.encoder.layer.13.intermediate.dense.bias failed.GetFileLength for /data/models--BAAI--bge-reranker-large/snapshots/55611d7bca2a7133960a6d3b71e083071bbfc312/onnx/model.onnx_data failed:Invalid fd was supplied: -1

Just tested with the v0.8 release of the repo, building the containers and I'm running into the original problem with the TEI 1.5 container for reranking.
root@ip-172-31-19-70:/opt/GenAIExamples/ChatQnA/docker/xeon# docker ps -a
CONTAINER ID   IMAGE                                                   COMMAND                  CREATED          STATUS                      PORTS                                                                                NAMES
e233647b23ef   opea/chatqna-ui:latest                                  "docker-entrypoint.s…"   36 seconds ago   Up 34 seconds               <IP_ADDRESS>:5173->5173/tcp, :::5173->5173/tcp                                              chatqna-xeon-ui-server
e253767c1551   opea/chatqna:latest                                     "python chatqna.py"      36 seconds ago   Up 35 seconds               <IP_ADDRESS>:8888->8888/tcp, :::8888->8888/tcp                                              chatqna-xeon-backend-server
ef38c496621f   opea/embedding-tei:latest                               "python embedding_te…"   36 seconds ago   Up 35 seconds               <IP_ADDRESS>:6000->6000/tcp, :::6000->6000/tcp                                              embedding-tei-server
6b2488c0716c   opea/dataprep-redis:latest                              "python prepare_doc_…"   36 seconds ago   Up 35 seconds               <IP_ADDRESS>:6007-6009->6007-6009/tcp, :::6007-6009->6007-6009/tcp                          dataprep-redis-server
d51236335642   opea/retriever-redis:latest                             "python retriever_re…"   36 seconds ago   Up 35 seconds               <IP_ADDRESS>:7000->7000/tcp, :::7000->7000/tcp                                              retriever-redis-server
335c1b57fde2   opea/llm-tgi:latest                                     "bash entrypoint.sh"     36 seconds ago   Up 35 seconds               <IP_ADDRESS>:9000->9000/tcp, :::9000->9000/tcp                                              llm-tgi-server
257f047b5fea   opea/reranking-tei:latest                               "python reranking_te…"   36 seconds ago   Up 35 seconds               <IP_ADDRESS>:8000->8000/tcp, :::8000->8000/tcp                                              reranking-tei-xeon-server
6ad87af9aab0   ghcr.io/huggingface/text-generation-inference:2.1.0     "/tgi-entrypoint.sh …"   36 seconds ago   Up 36 seconds               <IP_ADDRESS>:9009->80/tcp, :::9009->80/tcp                                                  tgi-service
2e22f0e71955   ghcr.io/huggingface/text-embeddings-inference:cpu-1.5   "text-embeddings-rou…"   36 seconds ago   Up 36 seconds               <IP_ADDRESS>:6006->80/tcp, :::6006->80/tcp                                                  tei-embedding-server
5b16201f676b   ghcr.io/huggingface/text-embeddings-inference:cpu-1.5   "text-embeddings-rou…"   36 seconds ago   Exited (1) 27 seconds ago                                                                                tei-reranking-server
ad47210bbf87   redis/redis-stack:7.2.0-v9                              "/entrypoint.sh"         36 seconds ago   Up 36 seconds               <IP_ADDRESS>:6379->6379/tcp, :::6379->6379/tcp, <IP_ADDRESS>:8001->8001/tcp, :::8001->8001/tcp   redis-vector-db

GenAIExamples Repo:
root@ip-172-31-19-70:/opt/GenAIExamples/ChatQnA/docker/xeon# git status
HEAD detached at a2437e8

GenAIComps Repo
root@ip-172-31-19-70:/opt/GenAIComps# git status
HEAD detached at f37ed79

I did some local test with v0.8 and didn't found any issue. Did you build local image with --no-cache? Or you can do docker system prune --all to clean up the caches before build the image.

@wsfowler will consider building a versioned Terraform script for ChatQnA. Indeed there was some version mixup -- the github clone of the V0.8 and beyond) latest and the docker image repository containing V 0.7. Given we are not releasing any fixes till v0.9, that seems the more practical approach so we have working example sooner than later. Note that @wsfowler spotted an issue filed on HF site for TEI 1.5

I'll run some more tests using v0.8 with the commands you mention.
@mkbhanda One issue I will run into creating the versioned Terraform/Ansible script is that the docker compose files today specify latest for the OPEA containers. For instance if I switch the repo to the v0.7 release, after the v0.8 containers are published, then start using the OPEA docker compose file then it will attempt to pull down the latest containers. So some thought may need to be given to using specific versions for the OPEA containers in the docker compose files and others.

@chensuyue Just did a clean build of the v0.8 containers again and I'm still seeing the same error. I did the docker system prune --all and I made sure to build the containers using the --no-cache command. I used the build commands straight from the readme.

I'll run some more tests using v0.8 with the commands you mention.
@mkbhanda One issue I will run into creating the versioned Terraform/Ansible script is that the docker compose files today specify latest for the OPEA containers. For instance if I switch the repo to the v0.7 release, after the v0.8 containers are published, then start using the OPEA docker compose file then it will attempt to pull down the latest containers. So some thought may need to be given to using specific versions for the OPEA containers in the docker compose files and others.

@kevinintel and @chensuyue -  our use of latest tagged images in docker-compose and manifests is nice, but it causes issues when we have bugs in what is released, as in the case of ChatQnA thanks to a Hugging Face image issue. What if we could send in an argument to docker-compose that lets us pull images with a particular tag? Does such a feature exist?
Alternately, could we with each release expect images and their use to be in sync, like OPEA V0.9 uses V0.9 images of the micro components explicitly (not latest)? Then we could at least use a tagged version of all files, and when we git clone we can pull using a tag.

I'll run some more tests using v0.8 with the commands you mention.
@mkbhanda One issue I will run into creating the versioned Terraform/Ansible script is that the docker compose files today specify latest for the OPEA containers. For instance if I switch the repo to the v0.7 release, after the v0.8 containers are published, then start using the OPEA docker compose file then it will attempt to pull down the latest containers. So some thought may need to be given to using specific versions for the OPEA containers in the docker compose files and others.

@kevinintel and @chensuyue - our use of latest tagged images in docker-compose and manifests is nice, but it causes issues when we have bugs in what is released, as in the case of ChatQnA thanks to a Hugging Face image issue. What if we could send in an argument to docker-compose that lets us pull images with a particular tag? Does such a feature exist?
Alternately, could we with each release expect images and their use to be in sync, like OPEA V0.9 uses V0.9 images of the micro components explicitly (not latest)? Then we could at least use a tagged version of all files, and when we git clone we can pull using a tag.

Yes, we have proposed such feature to freeze all the deps version and image tag in the release branch form v0.9.


ARM32V7: Not supported anymore

Hi All!
I've used the OPCPublisher module this summer with succes on an arm32v7 device.
I believe I've done the same thing, but now I get:
root@axcf2152:/opt/plcnext/# docker run -it mcr.microsoft.com/iotedge/opc-publisher:latest
standard_init_linux.go:211: exec user process caused "exec format error"
failed to resize tty, using default size

Is arm32v7 not longer supported? I could not find a decapitated message.
Can I build the image myself, what base image should I take?
With Kinds regards
Dries

We do not publish containers explicitly tagged for arm32 and arm64, but publish instead a multi arch manifest list under the release tag (e.g., latest, 2, 2.7, 2.7.206).  This one seemed to have a problem with the arm64 and arm32 layers which we are investigating.
One thing to try is to instead of 2.7.206 use 2.7.206@sha256:11493b39361dd38cbe27f5debb4472ae14ceb68008f7b6e8f9ba41a5f9cb2915 which references the linux/arm layer in the current 2.7.206 image list.  However, this has not been tested yet.

Tested with Raspberry PI 3
pi@rpi-3-edge:~/publisher-config $ uname -a
Linux rpi-3-edge 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l GNU/Linux
pi@rpi-3-edge:~/publisher-config $ dpkg --print-architecture
armhf
pi@rpi-3-edge:~/publisher-config $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
pi@rpi-3-edge:~/publisher-config $ cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 76.80
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 1
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 76.80
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 2
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 76.80
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

processor       : 3
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 76.80
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : BCM2835
Revision        : a02082
Serial          : 000000004f553990
Model           : Raspberry Pi 3 Model B Rev 1.2

I used the latest OPC Publisher as module of IoT Edge with the following container create options:
{
  "Hostname": "publisher",
  "Cmd": [
    "PkiRootPath=/cfg/pki",
    "--pf=/cfg/pn.json",
    "--lf=/cfg/publisher.log",
    "--aa"
  ],
  "HostConfig": {
    "Mounts": [
      {
        "Type": "bind",
        "Source": "/home/pi/publisher-config",
        "Target": "/cfg"
      }
    ]
  }
}

Here the output of the running publisher:
pi@rpi-3-edge:~/publisher-config $ iotedge logs publisher -f --tail 25
  # Outgress input buffer count        :              0
  # Outgress input buffer dropped      :              0
  # Outgress IoT message count         :             83 (0.1/s)
  # Connection retries                 :              0

[14:22:30 INF Microsoft.Azure.IIoT.OpcUa.Edge.Publisher.Engine.DataFlowProcessingEngine]
  DIAGNOSTICS INFORMATION for          : opc.tcp://<IP_ADDRESS>:50000_5a3ab012f8c29c0c70622402b8ce2b683743e5c1
  # Ingestion duration                 :    00:00:14:53 (dd:hh:mm:ss)
  # Ingress DataChanges (from OPC)     :            983 (1.1/s)
  # Ingress ValueChanges (from OPC)    :         47,570 (53.22/s)
  # Ingress BatchBlock buffer size     :              0
  # Encoding Block input/output size   :              0 | 0
  # Encoder Notifications processed    :         47,410
  # Encoder Notifications dropped      :              0
  # Encoder IoT Messages processed     :             89
  # Encoder avg Notifications/Message  :            533
  # Encoder avg IoT Message body size  :         93,287 (36%)
  # Encoder avg IoT Chunk (4 KB) usage :           22.8
  # Estimated IoT Chunks (4 KB) per day:        197,884
  # Outgress Batch Block buffer size   :              0
  # Outgress input buffer count        :              0
  # Outgress input buffer dropped      :              0
  # Outgress IoT message count         :             89 (0.1/s)
  # Connection retries                 :              0

Please check that your docker runtime (e.g. mobi),  iot edge and rasbian are up-to-date. If the error still occurs please reopen the issue with additional information:

uname -a
dpkg --print-architecture
cat /proc/cpuinfo
iotedge --version
docker --version


fix(rds-snapshot): protect against nil pointer

Unsure the circumstances but it appears that the SnapshotCreateTime can sometimes be nil therefore we need a guard for it.
Resolves #221

:tada: This issue has been resolved in version 3.5.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Select2 "allowClear" doesn't clear select box in some specific situation.

It happens when on select box change event DOM changed (some elements are shown/hidden based on select box value)
To reproduce this click select box "Clear" button in a sample. SelectBox will not be cleaned. Some select option will be set as value.
codepen sample
Thanks.

It could be fixed with the next way

Prevent open when clearing selection, as discussed here (https://github.com/select2/select2/issues/3320)
Open drop-down with some timeout.


what happens when catchment attributes are set to the mean?

I've run this experiment informally, but I would like to formalize this for the paper

I don't intend for this to be a big part of the paper - just a sentence or two - but I think it will still be valuable.

Results from this (averaged across 10 replicates)

variable
RMSE

do_max
1.301941

do_mean
0.982008

do_min
1.254182


Restores value of config vm_memballoon_stats_period back to 60

Description
Currently, the default value for the vm_memballoon_stats_period configuration is set to 0. As a result, out of the box in ACS, memory metrics for Windows instances (with virtio drivers correctly installed and configured) is compromised when using KVM hypervisor. This pull request aims to propose setting the vm_memballoon_stats_period configuration value to 60. This correction addresses situations such as the one reported through the issue: https://github.com/apache/cloudstack/issues/8453.
fixes: https://github.com/apache/cloudstack/issues/8453
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):

Before changes:

After changes:

How Has This Been Tested?
A Windows VM was created, and it was confirmed that the VirtIO drivers were correctly installed. However, upon inspecting the metrics collected by ACS, it was observed that they did not align with the actual consumption of the VM. Subsequently, after changing the configuration value from 0 to 60, the metrics collected by ACS matched the consumption values reported by the VM.

@andrijapanicsb @alexandremattioli any ideas on this?

this value can be set manually, or by ansible/chef/puppet.
I prefer to leave users to decide.

many of the global settings are set to a certain value, many of them to 0 - and can be easily changed (like most of the other global settings). I prefer to keep it as it is, and allow operator to decide what to change.

The value of this configuration was originally proposed with 60 to avoid misunderstandings as the one that are happening with operators. However, this value has been modified, and there is no information regarding this change communicated clearly for operators. As a result, numerous users may be experiencing the same issue reported in #8453. It might be a good idea to follow the steps taken with this other configurations https://github.com/apache/cloudstack/pull/6803/commits/6c9e8a041bb20364d6ad4ee0e6f25e5a03e438f4, where the value of vm.stats.max.retention.time configuration was changed from 0 to 720 for the sake of simplicity for users/operators. Therefore, I suggest doing the same here, and if operators wish, they can modify the value to 0.
BTW: using the value 0 makes the monitoring stop working in KVM.

The value of this configuration was originally proposed with 60 to avoid misunderstandings as the one that are happening with operators. However, this value has been modified, and there is no information regarding this change communicated clearly for operators. As a result, numerous users may be experiencing the same issue reported in #8453. It might be a good idea to follow the steps taken with this other configurations https://github.com/apache/cloudstack/pull/6803/commits/6c9e8a041bb20364d6ad4ee0e6f25e5a03e438f4, where the value of vm.stats.max.retention.time configuration was changed from 0 to 720 for the sake of simplicity for users/operators. Therefore, I suggest doing the same here, and if operators wish, they can modify the value to 0.
BTW: using the value 0 makes the monitoring stop working in KVM.

we are free to change the default value in a PR, or before official release. Once the configuration is included in a official release,   we should be careful to change the default value.@RodrigoDLopez

BTW: using the value 0 makes the monitoring stop working in KVM.

worth to mention that I have faced an issue caused by it in the past . https://github.com/apache/cloudstack/issues/8453#issuecomment-1880956758
although @shaerul said it worked well in his testing, I think it would be better to enable/disable memory ballooning and statistics at vm level.

(For what is worth it - I've been told by a RH engineer (in 2019) that memory auto-ballooning is an abandoned project - so be careful with the feature)

I believe that metrics monitoring should work without operators having to worry about configurations and enabling/disabling the feature. Changing the configuration value from '60' to '0' compromised the functionality for the KVM hypervisor; which in turn, can make it seem as it does not work out of the box. An example of this is operators lacking visibility regarding the necessity of adding this configuration in the agent.properties file (see: https://github.com/apache/cloudstack/issues/8453#issuecomment-1880120221).
From my perspective, using the value '60' resolves issues similar to those faced by @shaerul in #8453. What are the main impacts you foresee with this change?

Regarding the issue encountered during the migration of a Windows instance with the memory balloon enabled (https://github.com/apache/cloudstack/issues/8453#issuecomment-1880956758), could you explain the error scenario in detail? This would allow me to attempt to reproduce locally and, if necessary, extend this PR to address the issue related to the migration of Windows VMs with the memory balloon feature enabled.

I believe that metrics monitoring should work without operators having to worry about configurations and enabling/disabling the feature. Changing the configuration value from '60' to '0' compromised the functionality for the KVM hypervisor; which in turn, can make it seem as it does not work out of the box. An example of this is operators lacking visibility regarding the necessity of adding this configuration in the agent.properties file (see: #8453 (comment)).

In my opinion, the wrong memory usage is not a critical issue for operators.
I believe most cloud operators use automation tools (chef, ansible, puppet, etc). It is very easy to apply the changes on all kvm hosts.

From my perspective, using the value '60' resolves issues similar to those faced by @shaerul in #8453. What are the main impacts you foresee with this change?

As I said, I have faced an issue in the past. I am not sure if the issue was caused by windows virtio drivers or qemu/libvirt.
anyway, we do not need to make decision for users.
There is already a configuration for users to enable/disable it or set to a different value.

Regarding the issue encountered during the migration of a Windows instance with the memory balloon enabled (#8453 (comment)), could you explain the error scenario in detail? This would allow me to attempt to reproduce locally and, if necessary, extend this PR to address the issue related to the migration of Windows VMs with the memory balloon feature enabled.

I do not remember the details very clearly. the kvm host is Ubuntu 18 or 20
the issue was difficult to reproduce, it happened to some vms with virtio drivers, large memory and memory intensive applications.
but I am sure it was caused by memory stat, because the issue is gone after disabling memory stat on Windows vms.
cc @RodrigoDLopez

hat are your concerns with this change? Without it, a nice feature in ACS, that enables users to monitor users' VMs via UI does not work out of the box for KVM deployments, which can cause disappointments and misunderstandings as the ones already noticed in the mailing list and issues in Github.

can please see my comments above ? @GutoVeronezi

can please see my comments above ? @GutoVeronezi

@weizhouapache you said you have faced an issue in the past, but did not specify how to reproduce it or its details. On the other hand, you said that you are not sure if the issue was caused by the virtio drivers; therefore, we do not have a solid reason to not change it.

can please see my comments above ? @GutoVeronezi

@weizhouapache you said you have faced an issue in the past, but did not specify how to reproduce it or its details. On the other hand, you said that you are not sure if the issue was caused by the virtio drivers; therefore, we do not have a solid reason to not change it.

@GutoVeronezi
I have mentioned this but I am sure it was caused by memory stat, because the issue is gone after disabling memory stat on Windows vms.
Anyone who wants to enable the memory stats collection and happy to take the risky, go for it. ACS has already provided the option to do it.

@GutoVeronezi I have mentioned this but I am sure it was caused by memory stat, because the issue is gone after disabling memory stat on Windows vms.
Anyone who wants to enable the memory stats collection and happy to take the risky, go for it. ACS has already provided the option to do it.

@weizhouapache do you have steps to reproduce it?

@GutoVeronezi I have mentioned this but I am sure it was caused by memory stat, because the issue is gone after disabling memory stat on Windows vms.
Anyone who wants to enable the memory stats collection and happy to take the risky, go for it. ACS has already provided the option to do it.

@weizhouapache do you have steps to reproduce it?

@GutoVeronezi
you know some issues are difficult to reproduce.
the issue could be related to the template (Windows version, virtio drivers, etc), and the host (Linux OS version, qemu/libvirt version), etc
I did not face any issue with Linux VMs caused by it. so I made some changes to enable it on Linux VMs, but disable it for Windows VMs.

@GutoVeronezi you know some issues are difficult to reproduce. the issue could be related to the template (Windows version, virtio drivers, etc), and the host (Linux OS version, qemu/libvirt version), etc I did not face any issue with Linux VMs caused by it. so I made some changes to enable it on Linux VMs, but disable it for Windows VMs.

But then we do not have a solid reason to not change the value, just speculations. If at least we could reproduce the error you saying that exist, we could look for the real cause and solve the problem (or at least find an explanation).

@GutoVeronezi you know some issues are difficult to reproduce. the issue could be related to the template (Windows version, virtio drivers, etc), and the host (Linux OS version, qemu/libvirt version), etc I did not face any issue with Linux VMs caused by it. so I made some changes to enable it on Linux VMs, but disable it for Windows VMs.

But then we do not have a solid reason to not change the value, just speculations. If at least we could reproduce the error you saying that exist, we could look for the real cause and solve the problem (or at least find an explanation).

@GutoVeronezi
If you are running a production, you might know, when we face an issue (Windows VM got frozen after live migration in my case), the first thing we need to do, is to find the workaround which fix the issue and then avoid it (in my case, the workaround is disabling memory stats).
root cause?  in my case, we need to dive into the source code of QEMU and virtio driver. the root cause is not important to me, as I can accept the problem that Windows VM has wrong memory usage (100%) which is a minor issue, espscially comparing with the issue that Windows VM got frozen.
changing vm_memballoon_stats_period to 60, will add a new setting in the vm definition, which will probably cause some regression which is out of our control. We should disable it by default.

changing vm_memballoon_stats_period to 60, will add a new setting in the vm definition, which will probably cause some regression which is out of our control. We should disable it by default.

But again, it is a speculation. We have solid use cases of operators having to contact the community to understand why their Windows VMs are with wrong stats; and every time, the solution is to change the agent.properties. However, we do not have use cases that corroborate with the situation you said you faced a long time ago. Indeed, we do have use cases that shows that the aforementioned situation does not happen, vide https://github.com/apache/cloudstack/issues/8453#issuecomment-1881793055. Therefore, we do not have a solid use case/reason to not change the value.
Please, bring solid use cases so we can discuss it further.

changing vm_memballoon_stats_period to 60, will add a new setting in the vm definition, which will probably cause some regression which is out of our control. We should disable it by default.

But again, it is a speculation. We have solid use cases of operators having to contact the community to understand why their Windows VMs are with wrong stats; and every time, the solution is to change the agent.properties. However, we do not have use cases that corroborate with the situation you said you faced a long time ago. Indeed, we do have use cases that shows that the aforementioned situation does not happen, vide https://github.com/apache/cloudstack/issues/8453#issuecomment-1881793055. Therefore, we do not have a solid use case/reason to not change the value.
Please, bring solid use cases so we can discuss it further.

interesting
Your use case is solid
my issue is not solid


Feature request: Final report

A final report, maybe just an html document with links to the various outputs with a brief explanation as to what they are would be very helpful.

This is an excellent feature request! 👍
I think the generation of a final report will also address Issue #9, in that we can add a single "final_report" rule that will run all of the dependent rules required to populate the final report with data. That will make the snakemake workflow execution command significantly shorter.

Changes needed for version 1.2

[ ] Parameterize the workflow to avoid hard-coding sample IDs
[ ] Assume the final output organization workflow has been run with snakemake --use-singularity  post_processing_move_samples_dir_workflow
[ ] Update all file paths in the report
[ ] Include all Krona plots inline
[ ] Include top sourmash gather results inline
[ ] Fix broken links to prokka output
[ ] Replace lorem ipsum procedure text with documentation from wiki
[ ] Include workflow diagrams in procedure documentation sections
[ ] Pull any available information from log files
[ ] Include commands run to generate data from all the workflows

Candidate .gitignore for a completed workflow. This will allow you to commit the files needed but ignore most of the stuff from prokka and assembler intermediates.
*metaspades/
*megahit/
*.err
*.faa
*.ffn
*.fna
*.fsa
*.gbk
*.gff
*.sqn
*.tbl
*.gz

You can view the updated report by either:

Going directly to https://rawcdn.githack.com/signaturescience/metagenomics/478682eab848f213129a730a4bbf5b7002eb2c0e/workflows/data/SRR606249_subset10_1_reads_finished/0-summary-report.html
Download the repo zip file, extract, and navigate to the file: workflows/data/SRR606249_subset10_1_reads_finished/0-summary-report.html.

A few notes:

The source document that generates the report is placed in the folder where the final output exists after running snakemake --use-singularity post_processing_move_samples_dir_workflow. In this case, the file lives at workflows/data/SRR606249_subset10_1_reads_finished/0-summary-report.Rmd
The sample id is supplied as a parameter in the YAML of the RMarkdown that generates the report. Once declared, the sample ID can be referenced throughout via params$id. (More info...). E.g.:params:
  id: "SRR606249_subset10_1_reads"

All major sections begin with a description of the procedure, pulled from the wiki. Results are then displayed under tabs (and subtab buttons) underneath major section headings. Note that images are currently hotlinked against this repo. This could be revised to work in an airgapped system by referencing the image files in the repository using a relative path. However, the structure of this relative path depends on how this is eventually rolled into a snakemake workflow.
Creation of this report using a snakemake workflow should be the topic of a separate issue, #16. Another workflow, run after the post_processing_move_samples_dir_workflow workflow, could create the Rmarkdown source, replacing the parameter above with the sample ID, and then issuing the rmarkdown::render() function to create the final report.

cc @cgrahlm @kternus

Note the root level .gitignore and the .gitignore in the workflows/data/SRR606249_subset10_1_reads_finished directory.
This part of the root-level gitignore allows you to ignore everything in the data directory except the SRR606249_subset10_1_reads_finished where the example dataset was run and where the final report goes.
# Ignore data/ dirs
workflows/read_filtering/data
workflows/taxonomic_classification/data

# Don't blacklist workflows/data recursively
!workflows/data/
# Ignore everything under workflows/data
workflows/data/*
# Except this particular directory and everything under it
!workflows/data/SRR606249_subset10_1_reads_finished/
!workflows/data/SRR606249_subset10_1_reads_finished/*

The .gitignore in the workflows/data/SRR606249_subset10_1_reads_finished directory ensures you don't commit gigabytes of data, only committing files needed for report generation and other negligible size files.