About test_subs_oper.py

Hi rjarry,
I tried to modify one of your tests as below. However, it seems that this can only run successfully for one time. When I ran it for the second time, it gave me "Module "sysrepo-example" was not found in sysrepo"
Do you know where I went wrong? Thank you!
import logging
import os
import unittest
import sysrepo

YANG_FILE = os.path.join(
    os.path.dirname(os.path.dirname(__file__)), "examples/sysrepo-example.yang"
)
sysrepo.configure_logging(stderr_level=logging.ERROR)

# ------------------------------------------------------------------------------
class OperSubscriptionTest(unittest.TestCase):
    def test_oper_sub(self):
        priv = object()
        state = None

        def oper_data_cb(xpath, private_data):
            self.assertEqual(xpath, "/sysrepo-example:state")
            self.assertEqual(private_data, priv)
            return state

        with sysrepo.SysrepoConnection() as conn:
            # conn.remove_module("sysrepo-example")
            conn.install_module(YANG_FILE, enabled_features=["turbo"])
            with conn.start_session("operational") as sess:
                sess.subscribe_oper_data_request(
                    "sysrepo-example",
                    "/sysrepo-example:state",
                    oper_data_cb,
                    private_data=priv,
                    strict=True,
                )
                with conn.start_session("operational") as op_sess:
                    state = {
                        "state": {
                            "system": {"hostname": "foo"},
                            "network": {
                                "interface": [
                                    {
                                        "name": "eth0",
                                        "address": "<IP_ADDRESS>/24",
                                        "up": True,
                                        "stats": {"rx": 42, "tx": 42},
                                    }
                                ]
                            },
                        }
                    }
                    self.assertEqual(op_sess.get_data("/sysrepo-example:state"), state)
                    state = {"state": {"invalid": True}}
                    with self.assertRaises(sysrepo.SysrepoCallbackFailedError):
                        op_sess.get_data("/sysrepo-example:state")

            conn.disconnect()
            conn.remove_module("sysrepo-example")

unittest.main()

I think you need to completely disconnect all sysrepo applications and
reconnect once to apply all datastore schema changes.
See https://netopeer.liberouter.org/doc/sysrepo/master/html/schema.html
for more details.

Hi rjarry,
Doesn't "conn.disconnect()" fully disconnect sysrepo applications? I don't know why it works if I move "conn.disconnect()" in front of "conn.install_module()"
import logging
import os
import unittest

import sysrepo

YANG_FILE = os.path.join(
    os.path.dirname(os.path.dirname(__file__)), "examples/sysrepo-example.yang"
)
sysrepo.configure_logging(stderr_level=logging.ERROR)

# ------------------------------------------------------------------------------
class OperSubscriptionTest(unittest.TestCase):
    # @classmethod
    # def setUpClass(cls):
    #     with sysrepo.SysrepoConnection() as conn:
    #         conn.install_module(YANG_FILE, enabled_features=["turbo"])
    #     cls.conn = sysrepo.SysrepoConnection(err_on_sched_fail=True)
    #     cls.sess = cls.conn.start_session()

    # @classmethod
    # def tearDownClass(cls):
    #     cls.sess.stop()
    #     cls.conn.remove_module("sysrepo-example")
    #     cls.conn.disconnect()
    #     # reconnect to make sure module is removed
    #     with sysrepo.SysrepoConnection(err_on_sched_fail=True):
    #         pass
    def test_oper_sub(self):
        priv = object()
        state = None

        def oper_data_cb(xpath, private_data):
            self.assertEqual(xpath, "/sysrepo-example:state")
            self.assertEqual(private_data, priv)
            return state

        with s
```ysrepo.SysrepoConnection() as conn:
            conn.remove_module("sysrepo-example")
            conn.install_module(YANG_FILE)
            with conn.start_session() as sess:
                sess.subscribe_oper_data_request(
                    "sysrepo-example",
                    "/sysrepo-example:state",
                    oper_data_cb,
                    private_data=priv,
                    strict=True,
                )
                with conn.start_session("operational") as op_sess:
                    state = {
                        "state": {
                            "system": {"hostname": "foo"},
                            "network": {
                                "interface": [
                                    {
                                        "name": "eth0",
                                        "address": "<IP_ADDRESS>/24",
                                        "up": True,
                                        "stats": {"rx": 42, "tx": 42},
                                    }
                                ]
                            },
                        }
                    }
                    print(op_sess.get_data("/sysrepo-example:state"), state)
                    self.assertEqual(op_sess.get_data("/sysrepo-example:state"), state)
                    state = {"state": {"invalid": True}}
                    with self.assertRaises(sysrepo.SysrepoCallbackFailedError):
                        op_sess.get_data("/sysrepo-example:state")

            # conn.remove_module("sysrepo-example")
            conn.disconnect()

unittest.main()

Thank you!

conn.disconnect() only disconnects the current process, not the other connected sysrepo applications.
There is an API function to get the number of current connections but I did not make it available in the python bindings. I do not think there is any API to show all connected processes.
Maybe you can list processes that have open files in /dev/shm/sr*:
lsof /dev/shm/sr*


Add CI to publish project to maven.

This PR adds CI to publish cde to maven, need help from upstream to set up sonatype account.

Thanks @hcook for approving this, it is possible to add me to maintainers to make me be able to click the merge button? or let @jackkoenig merge it.


[language] Consolidate loading\verification in the runtime

This PR makes few changes bundled together for convenience.

All verification passes are with the same model, a static function called verify,
so VerificationCheck::verify(&CompiledModule) -> VMResult<()>.
VerifiedModule usage is removed from a bunch of places.
The runtime, some compiler stuff, and functional tests should have a very limited use of VerifiedModule.
The VM runtime uses the passes directly and logic for verification and loading is unified

I have not removed VerifiedModule entirely and I am looking for feedback on whether you want me to do it or not (in another PR obviously). I am even fine as things are after this PR with a possible minor cleanup coming.
I know people feel differently about it so please comment. @tnowacki, @vgao1996 take a look. I think @tzakian liked to have VerifiedModule in some context (I am sure @sunshowers has feelings about it too). Everybody, really, feel free to comment.
The VM is not using VerifiedModule and that part I feel pretty strong about, I can clarify if you want me to and let me know.
The loader and the consolidation of verification and loading needs a bit more cleanup but I think this PR is a good improvement over what we have and in a decent shape.
Some inline comment may help when reviewing...

Maybe rename the PR since VerifiedModule still exists? Its just gone from the VM (I think)

I don't have much to add other than that I introduced VerifiedModule specifically because we had code paths which were accidentally not verifying modules, and that I thought leveraging the type system to assert a verification invariant was a good idea (it found bugs!). I'm worried about us regressing in the future, given that maintaining correctness over time is far more important than simply ensuring correctness today.

I don't have much to add other than that I introduced VerifiedModule specifically because we had code paths which were accidentally not verifying modules, and that I thought leveraging the type system to assert a verification invariant was a good idea (it found bugs!). I'm worried about us regressing in the future, given that maintaining correctness over time is far more important than simply ensuring correctness today.

I would agree that the way the system was architected before the VerifiedModule had more of a role.
From the VM perspective now, there is a single code path to code loading in the system and I think it's important to make sure the runtime path is well defined and the only source of truth for what verification for the runtime means (that is obvious but I think it's important to point out).
We could stick with the VerifiedModule but it's not adding much value given it is not something that is passed around. The model is more that we verify, and we transform while loading. In that sense a type transformation only adds a layer (logically and while coding, in terms of code generation of course VerifiedModule was mostly a no-op) that it is making things less obvious.
Also for verification I do believe a "library" of steps/functions is more appropriate. I think clients can (maybe they should) use a type transformation in their component if that was helpful (e.g. the instance travels around in API). But I am not clear a universal concept of VerifiedModule is helpful.
A latest talk with the team was suggesting we could still have a VerifiedModule::verify(&CompiledModule) which performs a set of "canonical" steps for verification but, for me at least, having the runtime owning its own logic "in place" is still the right thing.
Not sure if you have thoughts about this

@bors-libra r=vgao1996

:pushpin: Commit d4ba355 has been approved by vgao1996

:hourglass: Testing commit d4ba35523372063d754845817361f168d8e9c9e3 with merge 0d2da30365dbeacdc34fce9a52c879f7e74af06f...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: vgao1996
Pushing 0d2da30365dbeacdc34fce9a52c879f7e74af06f to master...


Cleanup lcdClientMock and unit tests

Description:

I've noticed that some of the unit tests use the lcdClientMock examples and some not, also the file is huge with >1k LOC.
Ideally we'd use contract tests and get the mocked values directly from the SDK's Gaia-lite swagger file (cc: @NodeGuy), but in the meantime I think doing a cleanup and splitting the file into (1) mocked values and (2) logic, funcs, etc.
Also note that there's already some mocked values in the following folder: https://github.com/cosmos/voyager/tree/develop/test/unit/specs/store/json

Ah so the scope is only?

splitting the file into (1) mocked values and (2) logic, funcs, etc.

Yes, and ensuring that all tests use the same mocked values from (1)

Closing as we'll deprecate the lcdClientMock file #1742


Can't resize/move windows with the mouse at all.

Nothing to add.

join the discord server, there was a breaking change. Can't really "post an announcement" here, can I?
It will be mentioned in the release notes.

also see the wiki here

Thanks, and sorry!


Fix td-agent not being disabled when installing

telegraf side is set to enabled: no, which is the right behaviour.
For info, these services are only re-enabled when the Consul K/V states that they are meant to be integrated.


Update CODEOWNERS

Description
Update CODEOWNERS file to reference correct repo name
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

DCO check failed, could you resolve before merging?

I may have to fork and push a new commit, sorry about dismissing the approvals.


Update iotnxp.md

OPS Build status updates of commit 4dc364d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/learn-about-hardware/iotnxp.md
:white_check_mark:Succeeded

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.

OPS Build status updates of commit 9885551:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/TOC.md
:white_check_mark:Succeeded

windows-iotcore/learn-about-hardware/iotnxp.md
:white_check_mark:Succeeded

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.


client_lib/ABI_VERSION: No such file or directory

when I exec  make DPDK=1 in path dev_root, it shows
cat: /p4app-switchML/dev_root/client_lib/ABI_VERSION: No such file or directory ,
Does it matter if this prompt is left alone?

and after I exec python setup.py install in path pytorch_plugin, it seems installed successfully,
but when I test torch_switchml, it shows
_>>> import torch

import torch_switchml
Traceback (most recent call last):
File "", line 1, in
ImportError: /root/anaconda3/lib/python3.9/site-packages/torch_switchml-0.1-py3.9-linux-x86_64.egg/torch_switchml.cpython-39-x86_64-linux-gnu.so: undefined symbol: ZTIN6google8protobuf7MessageE

when I
export LD_PRELOAD=/root/anaconda3/lib/libprotoc.so.30.0.1:/root/anaconda3/lib/libprotobuf.so.30.0.1
the error changed into
_>>> import torch

import torch_switchml
Traceback (most recent call last):
File "", line 1, in
ImportError: /root/anaconda3/lib/python3.9/site-packages/torch_switchml-0.1-py3.9-linux-x86_64.egg/torch_switchml.cpython-39-x86_64-linux-gnu.so: undefined symbol: rte_mempool_ops_table_

I have no clue about this, can you give me some advice

Hey, thanks for reaching out.
When you run python setup.py you have to pass the same build variables that you used in order to link the needed libraries.
So you should run
DPDK=1 python setup.py
I would also like to point out that the PyTorch plugin has not yet been tested for performance so use at your own discretion and if you find any issues we would be happy to hear from you about them.

I'm sorry I didn't explain the details clearly, because I've already run the command
DPDK=1 python setup.py
I have tested many times according to the document, and there are always such errors, and I have tried many methods, which can not solve the problem.
So I turned to pytorch_patch method, which can successfully import torch, but when I run the training code, it reports such an error
EAL:   probe driver: 8086:1581 net_i40e
E0705 02:03:15.409107 32277 dpdk_master_thread_utils.inc:277] Flow isolated mode failed: 1 Function not implemented
i40e_flow_set_fdir_inset(): Invalid input set
F0705 02:03:16.098023 32277 dpdk_master_thread_utils.inc:154] Flow rule can't be added: 13Invalid pattern mask.
*** Check failure stack trace: ***
    @     0x7fec058b20cd  google::LogMessage::Fail()
    @     0x7fec058b3f33  google::LogMessage::SendToLog()
    @     0x7fec058b1c28  google::LogMessage::Flush()

The following functions report errors
+i40e_flow_set_fdir_inset(struct i40e_pf *pf,
+			 enum i40e_filter_pctype pctype,
+			 uint64_t input_set)
+{
+	struct i40e_hw *hw = I40E_PF_TO_HW(pf);
+	uint64_t inset_reg = 0;
+	uint32_t mask_reg[I40E_INSET_MASK_NUM_REG] = {0};
+	int i, num;
+
+	/* Check if the input set is valid */
+	if (i40e_validate_input_set(pctype, RTE_ETH_FILTER_FDIR,
+				    input_set) != 0) {
+		PMD_DRV_LOG(ERR, "Invalid input set");
+		return -EINVAL;
+	}
+

The following is the dpdk network card we use
3b:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE backplane (rev 02)
3b:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE backplane (rev 02)
3b:00.2 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE backplane (rev 02)
3b:00.3 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)

I have tried many methods, but they are useless. T _ T

I will investigate the pytorch_plugin issue when compiling with DPDK and get back to you.
As for the pytorch_patch, you seem to have it installed correctly. The error you are getting doesn't seem to be an integration issue but rather a NIC compatibility issue. Can you run the helloworld example and confirm that you will get the same errors?

THANKS.
I can run the helloword with switchml.cfg, which was generated automatically with no modification.
(patch) root@work2:/home/test/p4app-switchML/dev_root/build/bin# ls
hello_world  switchml.cfg
(patch) root@work2:/home/test/p4app-switchML/dev_root/build/bin# ./hello_world
Hello world!. Starting the switchml context
Allocating data
Initializing data
Submitting all reduce jobs
Waiting for all jobs to finish
Stopping the switchml context
Verifying results
Data verified successfully exiting main program

But, with the switchml.cfg modified, it reproduce the same error as above.
(patch) root@work2:/home/test/p4app-switchML/dev_root/build/bin# ls
hello_world  switchml.cfg  switchml.cfg.old
(patch) root@work2:/home/test/p4app-switchML/dev_root/build/bin# ./hello_world
Hello world!. Starting the switchml context
Allocating data
Initializing data
Submitting all reduce jobs
Waiting for all jobs to finish
EAL: Detected 48 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: PCI device 0000:3b:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1581 net_i40e
E0707 03:05:06.800369 11495 dpdk_master_thread_utils.inc:277] Flow isolated mode failed: 1 Function not implemented
i40e_flow_set_fdir_inset(): Invalid input set
F0707 03:05:07.192461 11495 dpdk_master_thread_utils.inc:154] Flow rule can't be added: 13Invalid pattern mask.
*** Check failure stack trace: ***
    @     0x7f1cf02a40cd  google::LogMessage::Fail()
    @     0x7f1cf02a5f33  google::LogMessage::SendToLog()
    @     0x7f1cf02a3c28  google::LogMessage::Flush()
    @     0x7f1cf02a6999  google::LogMessageFatal::~LogMessageFatal()
    @     0x55c4be4786d9  switchml::InsertFlowRule()
    @     0x55c4be4793a5  switchml::InitPort()
    @     0x55c4be47a371  switchml::DpdkMasterThread::operator()()
    @     0x7f1ceffcc6df  (unknown)
    @     0x7f1cefa766db  start_thread
    @     0x7f1cee67a61f  clone
Aborted (core dumped)

Following is the general info of switchml.cfg, running on machine, work2.
[general]
    rank = 1
    num_workers = 2
    num_worker_threads = 4
    max_outstanding_packets = 256
    packet_numel = 256
    backend = dpdk
    scheduler = fifo
    prepostprocessor = cpu_exponent_quantizer
    instant_job_completion = 0
    controller_ip_str = <IP_ADDRESS>
    controller_port = 50099
    timeout = 10
    timeout_threshold = 100
    timeout_threshold_increment = 100
    --(derived)--
    max_outstanding_packets_per_worker_thread = 64
I0707 03:05:06.616739 11491 config.cc:249]
[backend.dpdk]
    worker_port = 4000
    worker_ip = <IP_ADDRESS>
    cores = 8-11
    extra_eal_options = -w 0000:3b:00.1
    port_id = 0
    pool_size = 131072
    pool_cache_size = 512
    burst_rx = 64
    burst_tx = 64
    bulk_drain_tx_us = 0

BTW, the switchml.cfg of work1 is different from work2 only on worker_ip, whitch is <IP_ADDRESS>.

here are my nic info:
Device #1:
----------
  Device Type:      ConnectX4
  Part Number:      MCX415A-CCA_Ax
  Description:      ConnectX-4 EN network interface card; 100GbE single-port QSFP28; PCIe3.0 x16; ROHS R6
  PSID:             MT_2140110033
  PCI Device Name:  d8:00.0
  Base GUID:        506b4b03000fb5c4
  Base MAC:         506b4b0fb5c4
  Versions:         Current        Available
     FW             12.28.2006     12.28.2006
     PXE            3.6.0102       3.6.0102
     UEFI           14.21.0017     14.21.0017
  Status:           Up to date

When i use it for switchml train， got errors like this：
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: WARNING! Base virtual address hint (0x100a94000 != 0x7fe4d3e00000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x1016f5000 != 0x7fe0d3c00000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x102356000 != 0x7fdcd3a00000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x102fb7000 != 0x7fd8d3800000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x103c18000 != 0x7fd4d3600000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x104879000 != 0x7fd0d3400000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x1054da000 != 0x7fccd3200000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
EAL: WARNING! Base virtual address hint (0x10613b000 != 0x7fc8d3000000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
F0707 03:14:46.742125 28820 dpdk_master_thread_utils.inc:190] No Ethernet ports
*** Check failure stack trace: ***
    @     0x7fe93c7d40cd  google::LogMessage::Fail()
    @     0x7fe93c7d5f33  google::LogMessage::SendToLog()
    @     0x7fe93c7d3c28  google::LogMessage::Flush()
    @     0x7fe93c7d6999  google::LogMessageFatal::~LogMessageFatal()
    @     0x7fe94ebd8f01  switchml::InitPort()
    @     0x7fe94ebda811  switchml::DpdkMasterThread::operator()()
    @     0x7fe95b65dbf4  execute_native_thread_routine
    @     0x7fe974ce36db  start_thread
    @     0x7fe974a0c61f  clone

switchml cann't find Ethernet ports ，if it has requirements for network card type ？what can i do for this problem.

Can you please check whether the DPDK mlx4 driver was built?
I fear that by default it is not built.

Hi,
are you trying to use the X710 NIC? If this is the case, I think you don't need the Mellanox driver, but the I40e driver.
This problem is probably related to the Flow Director support in that I40e driver.
We use this feature to install flow rules in the NIC to distribute packets to the different threads. Every thread receives packets with a different UDP destination port. The flow rule matches the destination port and sends the packet to the right queue associated with one thread.
You can try to comment the function InsertFlowRule that is inserting the flow rule, and test with a single thread with num_worker_threads = 1. This should work as the flow rule is not needed in this case.
But to reach high performance you need more than one thread, and we would need to understand why that flow rule insertion does not work with your NIC. Can you try to add that flow rule using testpmd?

THANKS.
I have tried your suggestion and run helloworld again.
It shows such an error:

Following is my switchml.cfg info,

NIC info.

I comment the function InsertFlowRule, it can be see in
dpdk_master_thread_utils.txt
BTW, I have set hugepages as following picture shows to solve the EAL init problem which can be see in the last image:

Hi,
I believe the Intel X710 NIC needs to be bound to the igb_uio driver to work with DPDK. Yours is currently bound to the kernel driver i40e, which is why DPDK does not see it. You probably need to remove the IP address from the interface (so that it is no longer "active") and then use the dpdk-devbind tool to bind it to igb_uio.
For the hugepages, it would be better to set 1GB hugepages (keep this in mind in case you get a Cannot allocate memory [12] error).
A small correction to my previous statement, it may be that one thread is good enough for you since you are only using 10Gbps (we have used up to 8 threads to reach 100Gbps). But it depends on your system clock speed, memory bandwidth, etc.

Hi,
I have run the command ifconfig ens7f1 down and used the dpdk-devbind tool to bind ens7f1 to igb_uio.

It seems I have solve the problem
i40e_flow_set_fdir_inset(): Invalid input set
F0707 03:05:07.192461 11495 dpdk_master_thread_utils.inc:154] Flow rule can't be added: 13Invalid pattern mask.

and following is the result I got.

I waited for a long time, but the program didn't continue. and the following problem remains：
E0707 03:05:06.800369 11495 dpdk_master_thread_utils.inc:277] Flow isolated mode failed: 1 Function not implemented

Hi,
the Flow isolated mode error is not an issue, as it is only an optimization to simplify the job of the DPDK driver (see here for the isolated mode description). Evidently the driver for your NIC is not implementing it, but the program should work even if that error is showed.
Are you running with the InsertFlowRule function commented out? Is it running with a single worker thread?
It is difficult for me to understand what is going on as I don't have the same NIC to reproduce this, so any information you can provide is helpful.
Can you compile with the DEBUG=1 flag so that we get more log messages? If you still see the SegFault, can you run with gdb and print the stack trace?

Hi,
I comment the InsertFlowRule function, it can be see in this file
dpdk_master_thread_utils.txt
, and run make DPDK=1 in third_party directory, then run  make DPDK=1 DEBUG=1 in client_lib directory, at last, run  make helloworld DPDK=1 DEBUG=1 in  examples directory.
As for switchml.cfg, I set num_worker_threads = 1 and cores = 8.
I find an unreasonable place which can be see in the following image, it seems there is a number divided by 0.


Give ID results unique hyperlinks

In the iNat guide system, if you select a set of criteria, it generates a unique hyperlink. EG this is the set of integral galls on Carya ovata with thick walls.  Is it possible to alter our ID tool to behave this way, rather than the way it does now (always have to start from scratch)? This feature also allows you to link to relevant search results in conversations on iNat, etc.

Yes we can make this work. This is all client side work (no DB etc.).
Quick thoughts on implementation:

Add the ID criteria as query parameters
Modify the getServerSideProps() call to accept the context (see e.g., any of the admin pages)
Extract the query params and fetch the data and pass it to the page as props:

filtered - current React state that holds the list of filtered galls by host
SearchQuery - how the galls are filtered on the page - see doSearch() in the id.tsx page

import the next.js router - see any of the admin pages - and update it with shallow navigations to reflect changes to filter criteria as the user makes selections


Add parameter for log file location

I would like to be able to configure where the log file is stored independent of the -dir parameter.

I would also add there should be an ENV var for this as well. maybe even system log integration... though that might just be handled with stdout on systemd


Cannot disable debug logging

Bug reports:
There are many debug logs displayed in the console. options.logging = true does not work.
16bff3505ca 0ms Starting document clone
vendors~main.main.js:28984
16bff3505ca 101ms Document cloned, using computed rendering
vendors~main.main.js:28984
16bff3505ca 102ms Starting DOM parsing
vendors~main.main.js:28984
16bff3505ca 117ms Starting renderer
vendors~main.main.js:28984
16bff3505ca 117ms Canvas renderer initialized (600x450 at 959,104) with scale 1
vendors~main.main.js:28984
16bff3505ca 143ms Finished rendering

Specifications:

html2canvas version tested with: 1.0.0-rc.3
Browser & version: Chrome
Operating system: Windows

Repeated #1874

@jmesa-sistel Thanks for noticing. I will close this one.


Add Python 3.11 to test matrix

https://github.com/eprbell/rp2/commit/0d7b01a7649d8f50c65c28c85e323e92ad5ce2d5, but for Python 3.11. I tried running this on Arch Linux with Python 3.11 and ran into issues immediately; it would be comforting to know that 3.11 is also supported.
CI appears to have passed in my fork, so I will continue doing some research into what went wrong for me.
edit: my issue is the same as https://github.com/eprbell/rp2/issues/25

Thanks for submitting the PR. You may want to try uninstalling/reinstalling a fresh version of Python. Let me know if you find out what's going on on your machine.

I'll try to figure out the "correct" way to handle it - will be following up in the other issue!


is Java11 required?

I'm about to jump to Java11 but our build server is still on Java10 for the next two weeks.
Thus I hoped to get it temporarily running (or at least compiled) on Java10.
Unfortunately this plugin (taken from plugins.gradle.org) was compiled by Java11 (class file version 55.0) while FX11 itself seems still on 54.0.
But maybe using JavaFX11 with Java10 does not work anyway.

This plugin assumes that JavaFX artifacts (modules) are available from Maven Centra. This started to be the case only with JavaFX 11


Track 'Vuetify'

Vendor site - https://vuetifyjs.com/
Example site - https://rothys.com/products/the-point-dragon-fruit
Detection - Look for

Hey @rockeynebhwani , is this technology being used on this example?
Also, this technology is already on Wappalyzer
By the way, added desc and remove html attribute which duplicate css attribute.

Yes @nurbek91 .. this site is using this technology and it was not being shown in my chrome extension so I assumed that it's something new but hopefully this was just the case of improving detection.

Hey @rockeynebhwani , Is everything good now? If yes, you can close the PR.Thanks!!!

thanks @nurbek91 .. yes... closing this..


Default value of SIGMA

I see that SIGMA is not set in pyiron by default, so I presume that it takes the VASP default value of 0.2 eV, correct? Why is set_occupancy_smearing taking the default value of 0.1 eV?

I just used the default value for semiconductor systems. Will using 0.1 affect results for metals?

No I'm just confused that there's no tag by default (i.e. it takes the VASP default value of 0.2) but inside set_occupancy_smearing there's a different value written.

Yeah, that was written by me specific to the systems I use. If you want, I can change it to 0.2 eV as the default.

I guess it should be consistent - therefore it should be changed to 0.2 - or am I missing something?

Yes I agree with Jan. I would be extremely confused if the value of SIGMA suddenly changes by putting an empty set_occupancy_spearing().


some icons match the background color and disappear

Love this theme, and the syntax theme. but there are some icons that exactly match the background color, and so disappear -- see the attached screenshot for sample icons.

Thanks for bringing this to my attention. I'll take a look at it when I have a chance (probably sometime next week) and see what I can do. :smile:


Graphics/cpt 31 draw outlines of npcs/players through walls

This works to an extent, but the sheer number of draw calls we're doing is messing with the depth check, I think, so it's a bit spotty in when the outlined version shows up.
I think instancing will significantly reduce this problem.

There are conflicts though


SIL: silence -Wunused-variable (NFC)

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test


Unit tests for app/clients/coin-market-cap/client.go

Implement unit tests for app/clients/coin-market-cap/client.go

this ticket is duplicate of already closed one: https://app.zenhub.com/workspaces/hashport-bridge-5faa7a326bd8890015ff754d/issues/limechain/hashport-validator/507


feat: Add LlamaIndex template (javaScript)

Please fill out this template! There are three different types of contributions, feel free to delete the checklists that are not applicable to your contribution type.
If you are submitting a new azd template to the gallery
Fill this out if you want your template to be added to the awesome-azd gallery!
Your template repository
Place your template repository link here:

[x] Added an entry to https://github.com/Azure/awesome-azd/blob/main/website/src/data/users.tsx that includes:

[x] Template title - A short title that reflects the local application stack that someone could use to get their application on Azure (e.g. "Containerized React Web App with Java API and MongoDB")

[x] Description - 1-2 sentence description of the architecture (e.g. Azure services) or solution that is defined by the template.

[x] Architecture Diagram or Application Screenshot - The image should include all services and their connections (example). You should add the image to the website/src/data/images/.

[x] Link to Author's GitHub or other relevant website - Used for attribution

[x] Author's Name -  Name to credit on the gallery card

[x] Link to template source - Link to the template GitHub repo

[x] Tags - Specify tags to represent the template. If you don't see a relevant tag for your template? Feel free to add one!
Required tags:

[x] Tag your template as Micrsoft-authored ("msft") or Community-authored ("community")
[x] Tag the IaC provider ("bicep" or "terraform")
[x] At least 1 tag for programming language used
[x] At least 1 tag for Azure services integrated
[x] Add the "new" tag for any newly authored templates

[x] In the PR comment, if you can also add a link to the PR where you made your repo azd compatible this will allow us to provide feedback on your template and speed up the review process.

If you are submitting a resource to be added to the awesome-azd README:

[ ] Name of resource
[ ] Resource author - who created this resource? (so we can credit them!)
[ ] What section should this resource be included in? -Is the resource an article? A video? Something else?

PR with azd support: https://github.com/Azure-Samples/llama-index-javascript/commit/b301699c7402457d968d933a0e99a99c2fbe4877

@v-xuto Could you test this template?

Got it. We will start to testing this template.

Thanks a lot @hemarina and @v-xuto :)

@hemarina, @manekinekko  We have finished this template test, and we filed four issues. Please review.

https://github.com/Azure-Samples/llama-index-javascript/issues/7
https://github.com/Azure-Samples/llama-index-javascript/issues/8
https://github.com/Azure-Samples/llama-index-javascript/issues/9
https://github.com/Azure-Samples/llama-index-javascript/issues/10

Thanks @v-xuto for taking the time to test the sample. I managed to fix 3 out of 4 issues. Issue https://github.com/Azure-Samples/llama-index-javascript/issues/9 is pending for now.

@manekinekko We retested the code based on your fix and found one new issue. Please review.

https://github.com/Azure-Samples/llama-index-javascript/issues/13

@v-xuto can you please check again. I fixed the issue.

@v-xuto can you please check again. I fixed the issue.

@manekinekko Currently, we still have Issue9 left. When we re-tested, we encountered a new error. Please review.

https://github.com/Azure-Samples/llama-index-javascript/issues/9

@v-xuto issue. azd pipeline config is working as expected https://github.com/Azure-Samples/llama-index-javascript/actions/runs/9957204618/job/27509469889

Hi @v-xuto all issues have been fixed. Let me know if there is anything else. Thank you.
cc @kristenwomack

@hemarina All issues have been fixed. There are currently no issues with this template. Please review.


Parkimeter uses ansistrano

Thanks Carlos!

😄 You're welcome Nacho! Hope everything goes great!

😄 You're welcome Nacho! Hope everything goes great!


font changed?

When i first got the theme, I opened it up and the font changed to times new roman. Is this how the font is supposed to be or is it a bug, and can I fix it?

I have the same issue. The CSS says "Whitney", which I have installed on my system but it's not working.

It is broken. You can use a custom CSS script in the BetterDiscord's editor, like this (in my example I use Atkinson Hyperlegible):
::-webkit-input-placeholder, body, button, input, select, textarea {
    font-family: "Atkinson Hyperlegible";
}
:root { --customFont: "Atkinson Hyperlegible"; }

Have the font of your choice installed on your computer and it will have no issues.


Updated Player Script and the Map

I copied the maths from a github and implemented it to the player scrip, and updated the map, I copied and modified the water shader from a github page (sort of), I'm planning on making a custom shader for the water soon though

ok


Improvements for StatefulSet

This adds support for fragments in StatefulSets. Requires newer (unreleased) version of kubernetes-api to work (or equivalent Controller after #949). Added it test.

Yeah, originally I put a map, but ended up doing the same reasoning: adding a new version is not enough, you need to change the code to use it for the moment, so better having it typed. Other groups are already defined in Kubernetes but not used yet in f-m-p.
I'll try to use more fluent and non-deprecated mehods for merging fragments...

@nicolaferraro Thanks ;-) I can merge it then soon after and create a new release (if fabric8 is already released, too)

@rhuss a proposal for a more readable implementation. It should be semantically equivalent, although a bit slower. I can put back some more "ifs" if needed..

[merge]

@nicolaferraro @jstrachan I can make a new release when fabric8io/fabric8 is released in a new version (with the latest kubernetes-client). Unfortunately, I don't know how to trigger on my own, but afaiu the version in fmp will be updated automatically by the CD when this happens.
Please ping me when this is done I will then trigger a fmp relase, too.


prepare_transfer method

Currently it is the following:
In [14]: cid = 0

In [15]: condition = creation_tx['transaction']['conditions'][cid]

In [16]: transfer_input = {
   ....:     'fulfillment': condition['condition']['details'],
   ....:     'input': {
   ....:          'cid': cid,
   ....:          'txid': creation_tx['id'],
   ....:      },
   ....:      'owners_before': condition['owners_after'],
   ....: }
   ....:

In [17]: prepared_transfer_tx = bdb.transactions.prepare(
   ....:     operation='TRANSFER',
   ....:     asset=creation_tx['transaction']['asset'],
   ....:     inputs=transfer_input,
   ....:     owners_after=bob.verifying_key,
   ....: )
   ....:

while it could be simply:
prepared_transfer_tx = bdb.transactions.prepare_transfer(input_tx, output_id, owners_after, metadata)
Notice that the operation, transfer_input, asset are all derived from the input_tx (full transaction, not only the tx_id). The complex transfer_input object is legacy of the common code, but can easily be abstracted away in the driver until the common code is fixed

Can't we have transactions for which the inputs are composed of outputs from different "input transactions"?

Might be interesting to see how @iredjee is solving it in the js driver:
https://github.com/bigchaindb/js-bigchaindb-driver/pull/98


System.NullPointerException

I am running in to an issue with the NPSP in my production org, the error log contains the following:
Error Type: System.NullPointerException
Full Message: Attempt to de-reference a null object
Stack Trace: Stacktrace available at the time of saving the record - (npsp)
One thing to note here is that our org has a Visualforce page that is exposed via a Salesforce site, which updates a bunch of custom objects and standard objects such as Contacts and Campaign members. Am I missing something here?
Help/Direction is greatly appreciated.

We prefer to have unknown problems first posted in the Power of Us Hub in the NPSP chatter group.  This way everyone can help identify the issue.  If it turns out to be a bug in NPSP, then we will enter it in gitHub.  Here's the link: https://powerofus.force.com/0F980000000CjRe
Repost there, and you will get help.
Thanks.


getPixelColor is not exact on macOS

Expected Behavior
getPixelColor should return the exact color of screen
Current Behavior
getPixelColor is not exact on macOS, the return color has diny diffrence with the real color.

Steps to Reproduce (for bugs)
see the picture above
Your Environment

RobotJS version:0.51
Node.js version:11.14.0
npm version:6.7.0
Operating System:macOS Mojave 10.14.5

Additionally，the default color space of the Bitmap captured in OS X is not sRGB(standard RGB) which used by CSS

I fixed this temporary, by setting this setting on my screen ( iMac mid-2017 ) (SRGB-...):

At least now the colors from getPixelColor is correct. I am picking my colors from a game.

I fixed this temporary, by setting this setting on my screen ( iMac mid-2017 ) (SRGB-...):

At least now the colors from getPixelColor is correct. I am picking my colors from a game.

not work with MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)

Any updates on this? I am getting this behaviour on M1 13-inch MBP the color jumps between 313131 and 303030.


Time zone on UTC time works incorrectly

moment.utc('2015-07-05T23:16:00Z').tz('Europe/Warsaw').format() // 2015-07-06T01:16:00+02:00

01:16:00+02:00 is incorrect, it should be 23:16:00+02:00

How could it be 23:16?  That's the same time you started with?
The ISO8601 standard format says that when an offset is given, the corresponding time is the local time associated with that offset.  In other words, the offset has already been applied.
Conversion below, as verified here:


Updated Cheatsheet to more readable form

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[x] I am not the sole author or employee of a company who created the topic or collection I'm changing.

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[x] Content (and my changes are in index.md)

the text was a mess, rearranged it

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

@talsafran can you look into it for me ?
thanks :3

Sorry, we have a standard format that is the same for all collections. I see how it might not be the most readable format when viewing the markdown, but this is just meant to be the data backing the more user-friendly UI here: https://github.com/collections/cheatsheets

@octokatherine thanks for letting me know

got it


Extremly low performance when use separate writing of headers and body

beast version 189
g++-9
I have multithread async echo http server, that print to response user requests. So when I try at first write headers and after it write body of the response, then I have extremely low performance. Here is a some test results by wrk:

Write headers and body by only call (async_write) with one thread

Running 1m test @ http://localhost:8011/echo
  8 threads and 16 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   239.31us   83.76us   8.35ms   99.67%
    Req/Sec     8.31k   167.69     8.87k    67.41%
  3972822 requests in 1.00m, 353.30MB read
Requests/sec:  66103.76
Transfer/sec:      5.88MB

Write headers and body by only call (async_write) with four threads

Running 1m test @ http://localhost:8011/echo
  8 threads and 16 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   132.11us  526.43us  26.85ms   97.53%
    Req/Sec    26.74k     3.41k   38.27k    70.17%
  12776705 requests in 1.00m, 1.11GB read
Requests/sec: 212794.69
Transfer/sec:     18.92MB

Write headers and body separately (by sequent calling async_write_header and async_write) with one thread

Running 1m test @ http://localhost:8011/echo
  8 threads and 16 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    44.55ms    1.86ms  50.47ms   84.05%
    Req/Sec    44.84      6.32    60.00     92.54%
  21522 requests in 1.00m, 1.92MB read
Requests/sec:    358.65
Transfer/sec:     32.68KB

Write headers and body separately (by sequent calling async_write_header and async_write) with four threads

Running 1m test @ http://localhost:8011/echo
  8 threads and 16 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    44.79ms    2.05ms  51.88ms   78.22%
    Req/Sec    44.60      6.17    60.00     93.38%
  21412 requests in 1.00m, 1.91MB read
Requests/sec:    356.28
Transfer/sec:     32.47KB

Summary: in case of using separate writing of headers and body server can handle only 21 thousand of request per minute (capacity of threads doesn't matter). But if we write headers and body at once then server can handle around 3-4 millions requests per thread at same time!
Why performance is so low?

What happens with the most recent version of Beast?

@vinniefalco thank for so fast response. No, I don't use ssl. And I didn't boost newer then 1.69

This sounds like a classic TCP Nagle problem. The second packet isn't sent until the ACK is received for the first one. Setting TCP_NODELAY on the sender is one fix, but it's often better for the application layer to avoid multiple writes and combine them if possible.

@roddypratt yes!  I completely forget about delaying. Thank

@roddypratt yes!  I completely forget about delaying. Thank


/topic/sizes fails with exception

Calling /topc/sizes with my model gives exception:
<IP_ADDRESS>:40920 - "GET /openapi.json HTTP/1.1" 200
<IP_ADDRESS>:40922 - "GET /docs HTTP/1.1" 200
<IP_ADDRESS>:40922 - "GET /openapi.json HTTP/1.1" 200
<IP_ADDRESS>:40924 - "GET /topics/sizes HTTP/1.1" 500
[2021-06-10 10:13:27 +0000] [29] [ERROR] Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/uvicorn/protocols/http/httptools_impl.py", line 390, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "/usr/local/lib/python3.7/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.7/site-packages/fastapi/applications.py", line 149, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.7/site-packages/starlette/applications.py", line 102, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.7/site-packages/starlette/middleware/errors.py", line 181, in __call__
    raise exc from None
  File "/usr/local/lib/python3.7/site-packages/starlette/middleware/errors.py", line 159, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.7/site-packages/starlette/exceptions.py", line 82, in __call__
    raise exc from None
  File "/usr/local/lib/python3.7/site-packages/starlette/exceptions.py", line 71, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.7/site-packages/starlette/routing.py", line 550, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.7/site-packages/starlette/routing.py", line 227, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.7/site-packages/starlette/routing.py", line 41, in app
    response = await func(request)
  File "/usr/local/lib/python3.7/site-packages/fastapi/routing.py", line 148, in app
    dependant=dependant, values=values, is_coroutine=is_coroutine
  File "/usr/local/lib/python3.7/site-packages/fastapi/routing.py", line 101, in run_endpoint_function
    return await dependant.call(**values)
  File "/app/main.py", line 107, in get_topic_sizes
    topic_sizes, topic_nums = top2vec.get_topic_sizes()
  File "/usr/local/lib/python3.7/site-packages/top2vec/Top2Vec.py", line 384, in get_topic_sizes
    return np.array(self.topic_sizes.values), np.array(self.topic_sizes.index)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 5272, in __getattr__
    if self._info_axis._can_hold_identifiers_and_holds_name(name):
  File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 5272, in __getattr__
    if self._info_axis._can_hold_identifiers_and_holds_name(name):
  File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 5272, in __getattr__
    if self._info_axis._can_hold_identifiers_and_holds_name(name):
  [Previous line repeated 480 more times]
  File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 493, in _info_axis
    return getattr(self, self._info_axis_name)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 5270, in __getattr__
    return object.__getattribute__(self, name)
  File "pandas/_libs/properties.pyx", line 63, in pandas._libs.properties.AxisProperty.__get__
  File "/usr/local/lib/python3.7/site-packages/pandas/core/generic.py", line 5270, in __getattr__
    return object.__getattribute__(self, name)
RecursionError: maximum recursion depth exceeded while calling a Python object

The samode model files works in python,
calling topic_sizes, topic_nums = top2vec.get_topic_sizes()

My last comment is not correct in the Docker container "ddangelov/restful-top2vec"  I get the same error message inside a python command line.

Nevertheless it does work in the virtual environment I use on my local PC.
So the error  depends on which libraries are installed.
If you share here the Dockerfile, I could maybe investigate further.

I found the Dockerfile..

I applied locally all pending PRs which upgrade the versions, and that fixed the issue.


Still logged in after signing out from another system

I believe this is a flaw in the example, but I would love to be corrected. I'd love even more if you have any idea how to resolve it.
Logging out using this code works fine because we expire our auth cookie. However I think there is a problem with the following user journey.

Login to our app
Go to another app with the same SSO
Go out on that other app
Return to our app

In this scenario we have logged out via SSO, but we are still logged in on our app.

I didn't understand that this is a feature of Identity Server 4, and not OpenId Connect


Update package.json - Syntax error cleared

What is the purpose of this pull request?
Syntax error on version number quotes.

haha ok @dvlden

Hmm, I changed the version number earlier but never changed the quotes. Thanks for the help and I hope you keep contributing. Merging now.


fix(api): default value for KubeVirtCluster.status.ready field

What this PR does / why we need it:
It sets a default value for the KubeVirtCluster.status.ready field, suppressing the annoying values when updating for the first time KubeVirtCluster.
Which issue this PR fixes:
fixes #252
Special notes for your reviewer:
Although this changes the specification, thus requiring a minor bump, the API change is absolutely minimal and could be considered a patch one.
Release notes:
NONE

/ok-to-test

When do you think new versions will be released? Since this bug prevents new clusters from being created.


Convert normal messages into embed messages

What needs to be done
Convert all normal messages for setup-contest, setup-problem, and stop commands into embed messages. The embed should have 1089DF colour, the original message as the description, and an appropriate title in uppercase. If you feel like you can make the messages more descriptive, feel free to do so.

Hi @roshan1337d , I would like to work on this :)

@basil08 Assigned this to you 🚀

@basil08 you still want to work on this one?

Yes, I'll open a PR by tomorrow

@basil08 if you're occupied, I can reassign this to someone else? Let me know

@roshan1337d if this is still incomplete. Assign me please!

@devsargam you got it 🚀
Happy hacktober :)


uid collision on Centos 7 host

The hard-coded uid=999 value conflicts with the systemd-bus-proxy user on CentOS 7
$ grep :999: /etc/passwd
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin

This makes it difficult to use a volume mapped to a host directory as it is owned by the above user.   Is there a recommended way to handle this?

One solution that will work the most generically is to look into Docker's User Namespaces support to see if it's a fit for your use case (which would allow you to remap the user directly as desired), but barring that, you'll likely be interested in #253. :+1:

great responsiveness..   thanks!   👍

I don't fully understand the solution. @dangogh what did you end up doing?

I ended up in the entrypoint script adding this bash function which sets the owner of the subdir I created to be the same as the volume I had mounted:
setowner() {
    own=$(stat -c '%u:%g' $1)
    shift
    [[ -n $@ ]] && chown -R ${own} "$@"
}
...
setowner /myvolume /myvolume/newsubdir

Alright. Thanks for the response. Not happy with the hacky solution.

neither am I -- one hack on top of another,  but sometimes it's what you can do


Refactoring S3 SigV2 CLI Argument in test subcommand

Overview
This PR slightly changes the logic in the test subcommand. Previously the s3_enable_sig_v2 config option was being force-passed as a CLIArgument to a Config object. As CLI arguments are processed last in the Config class, setting s3_enable_sig_v2: True in either the global or project config file was ignored.
Testing/Steps taken to ensure quality
I've tested this using a debugger with the sample taskcat project in examples/. Unit tests and pre-commit checks have been run as well.
Notes
I think there's a better way to handle the logic introduced in the test CLI module, but the linters/checks in pre-commit were not happy at me.

/do-e2e-tests


What can i do to ensure service is available during the krakend restarting

is there any mechanism just like 'nginx -s reload'?  the configuration file may be modified frequently,i want my backend service is available when i reload the configuration

When deploying new changes, use a technique like blue/green deployment or similar to make the deploy transparent for the user.
This scenario can be automated and is available in Kubernetes and in all major cloud providers. The idea is that you spin up new machines with the latest configuration and then shift the traffic from the old instances to the new ones.
This methodology ensures that there is no downtime when applying changes. On-premises installations can make a similar approach as well, but the implementations depends on the underlying infrastructure.


Update SettingUp.md

Codecov Report

Merging #277 (b36fe0f) into master (69b2dd0) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #277   +/-   ##
=========================================
  Coverage     67.38%   67.38%
  Complexity      693      693
=========================================
  Files           122      122
  Lines          2330     2330
  Branches        275      275
=========================================
  Hits           1570     1570
  Misses          639      639
  Partials        121      121

Continue to review full report at Codecov.

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


error if I hit anyone with a snowball

Hey,
The title says what it is.
My problem is when I shoot someone in the game with a snowball, an error message form serverconsol: (Paintball) This sound is not valid!
I don't know what you can do there, you don't get killed if you get shot down, that's exactly what it is.
The plugin looks very funny
MC version 1.12 spigiot
Can anyone help me?

In your config, change the name of sounds with these ones https://helpch.at/docs/1.12.2/org/bukkit/Sound.html

In your config, change the name of sounds with these ones https://helpch.at/docs/1.12.2/org/bukkit/Sound.html

Thanks, now it works! a really great plugin :)


[Fabric] Add valid check for shadow tree and component view

Summary
The reason why we need add these checks is sometimes js bundle may not run successful, in these cases ,rootView or shadowTree may not created.
cc. @shergin
Changelog
[General] [Fixed] - Add valid check for shadow tree and component view
Test Plan
N/A.

(See my comment in the code.)

@shergin Should we put this to surface presenter? and check the stage of surface before stop it?


help me pls, why im unable to ascess props?

If the variable doesn't exist, heading ?? "My section" will fail.
Change it to it.heading ?? "My section" (referencing the variable from it global object).

If the variable doesn't exist, heading ?? "My section" will fail.
Change it to it.heading ?? "My section" (referencing the variable from it global object).

https://vento.js.org/syntax/layout/#data
I followed this and here it is not used 🤔

Hmm. In your capture you're including skill.vto file but the condition is in section.vto.
Are you sure this is correct?
If so, do you have a repo that I can clone for debugging?

Sorry!
But, if I'll use it.heading it won't throw error in section component if no heading given...I'll try that
Soo sorry 😢


Migrating from Relay

I already have GraphQL server (w/ express), and I am currently using Relay to connect it (also already have a Redux store, for client state). 'Cause Relay is too complex/hard-to-be-confident, I followed the path to integrate my Redux store to Apollo Client, but my app crashes with the following:
$export is not a function. (In '$export($export.S + $export.F * !require(1245 /* ./_descriptors /), 'Object', { defineProperty: require(1240 / ./_object-dp */).f })', '$export' is an instance of Object)
in file: app/node_modules/graphql/node_modules/core-js/library/modules/es6.object.define-property.js
Running on React-Native 0.23.1, GraphQL 0.5.0.
Any clues?

Hmm, could you post some of your code? Perhaps it is something specific to React Native, it's pretty hard to see what is going on from that error, though.

I only connected the apollo to the store, didn't do anything else (see bellow). But the app crashes if have this code.
Maybe could be some conflict with Relay? This is the Relay example I followed to get it to work with React Native. For example, this is the .babelrc that I had to use.

Create Apollo Client (file Apollo.js):
import { ApolloClient, createNetworkInterface } from 'apollo-client';
const networkInterface = createNetworkInterface('http://localhost:8080/graphql');

export default new ApolloClient({
  networkInterface,
});

Connect to the store:
...
import apolloClient from '../Apollo';
import { combineReducers } from 'redux';

const apollo = apolloClient.reducer();

export default combineReducers({
  ...
  apollo,
});

Manually install runtime-plugin (error if don't):
"babel-plugin-transform-runtime": "6.6.0",

I was able to reproduce this error and finally managed to get it to work. I still don't fully understand the issue, but it seems it has to do with using Babel 6 with React Native's Packager (see https://github.com/facebook/react-native/issues/4062).
rm -rf node_modules
npm install
npm install<EMAIL_ADDRESS>npm install<EMAIL_ADDRESS>
At one point, the packager seemed to get stuck on resolving dependencies, what fixed this was:
watchman watch-del-all
node_modules/react-native/packager/packager.sh --reset-cache

@martijnwalraven I had no success following your steps, but I mocked the data, removed relay and its dependencies (from babel, plugin, etc) and the started using Apollo client successfully. The problem must lie in some conflict with its babel dependency as you suggested (my initial hypothesis also).
Now the problem is that I used the Node Interface to fetch data from different types, which it doesn't seem (yet?) possible with Apollo. Like so:
const mapQueriesToProps = ({ownProps: { id }}) => ({
  data: {
    query: `
      query getSomeData($id: ID!) {
        node(id: $id) {
          id
          ... on SomeType {
            first_field
            second_field
          }
        }
      }
    `,
    variables: {
      id,
    },
    forceFetch: false,
    returnPartialData: true,
  },
});

@stubailo Is this feature in the pipeline for the short-term or should I implement a route to have a query for each different types of Node I previously had?

@deoqc I'm not sure how you were doing it before, but you should be able to build the equivalent of a node interface, if you use a GraphQL Union and define the resolveType.

@helfer doesn't GraphQL Union requires fragments the same way that Node Interface do? (reading the fb docs).
In this case, I think I can't use Union for the same reason that I can't use Interface in Apollo, due to lack of fragment support.

Pretty sure you can use inline fragments with apollo-client, just not named fragments. The fragment in the example above is an inline fragment. @stubailo: please correct me if I'm wrong.

@helfer when I tried (as of<EMAIL_ADDRESS>I got something like 'inline fragments not yet supported'.

I thought we supported fragments but it turns out we don't everywhere! Going to fix that ASAP!

thx @stubailo, going to wait for it. (and closed the issue by mistake)


feat(ledger): Implement neon-ledger

This is a wrapper for interacting with ledgerhq/hw-transport.
Due to some issues with the current ledger package, I will not merge this until they resolve it.
TLDR: They removed babel-transform-runtime which led to their production code relying on the babel-runtime package. You will need to require the babel runtime package before importing the ledger packages.

https://github.com/LedgerHQ/ledgerjs/releases/tag/v5.0.0
The 5.0 release of ledger includes a rework of their babel configuration. Is this the issue you were waiting for?


Index out of bounds when used in Open Interpreter

Trying to have Open Interpreter describe images locally. Errors every time. I use a Mac with Apple silicon
Not sure if the issue is with how Open Interpreter is passing images to moondream file or something with my setup.
Happy to help resolve this if it's something on our end!
  File ~/Library/Python/3.11/lib/python/site-packages/torch/nn/modules/module.py:1532, in Module._wrapped_call_impl(self, *args, **kwargs)
     1530     return self._compiled_call_impl(*args, **kwargs)  # type: ignore
     1531 else:
  -> 1532     return self._call_impl(*args, **kwargs)

  File ~/Library/Python/3.11/lib/python/site-packages/torch/nn/modules/module.py:1541, in Module._call_impl(self, *args, **kwargs)
     1536 # If we don't have any hooks, we want to skip the rest of the logic in
     1537 # this function, and just call forward.
     1538 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
     1539         or _global_backward_pre_hooks or _global_backward_hooks
     1540         or _global_forward_hooks or _global_forward_pre_hooks):
  -> 1541     return forward_call(*args, **kwargs)
     1543 try:
     1544     result = None

  File ~/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/9ba2958f5a886de83fa18a235d651295a05b4d13/modeling_phi.py:382, in PhiAttention.forward(self,
  hidden_states, attention_mask, position_ids, past_key_value, output_attentions, use_cache)
      377 key_rot, key_pass = (
      378     key_states[..., : self.rotary_emb.dim],
      379     key_states[..., self.rotary_emb.dim :],
      380 )
      381 #
  --> 382 query_rot, key_rot = apply_rotary_pos_emb(
      383     query_rot, key_rot, cos, sin, position_ids
      384 )
      386 #
      387 query_states = torch.cat((query_rot, query_pass), dim=-1)

  File ~/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/9ba2958f5a886de83fa18a235d651295a05b4d13/modeling_phi.py:214, in apply_rotary_pos_emb(q, k,
  cos, sin, position_ids, unsqueeze_dim)
      193 def apply_rotary_pos_emb(q, k, cos, sin, position_ids, unsqueeze_dim=1):
      194     """Applies Rotary Position Embedding to the query and key tensors.
      195
      196     Args:
     (...)
      212         `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding.
      213     """
  --> 214     cos = cos.unsqueeze(unsqueeze_dim)
      215     sin = sin.unsqueeze(unsqueeze_dim)
      216     q_embed = (q * cos) + (rotate_half(q) * sin)

  IndexError: index is out of bounds for dimension with size 0

>>> print(model.answer_question(enc_image, "Describe this image.", tokenizer))
The attention mask is not set and cannot be inferred from input because pad token is same as eos token.As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.
The `seen_tokens` attribute is deprecated and will be removed in v4.41. Use the `cache_position` model input instead.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ubuntu/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/af5f98991c2661d0c4448ff6c2fb3c19e74f1c02/moondream.py", line 96, in answer_question
    answer = self.generate(
             ^^^^^^^^^^^^^^
  File "/home/ubuntu/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/af5f98991c2661d0c4448ff6c2fb3c19e74f1c02/moondream.py", line 80, in generate
    output_ids = self.text_model.generate(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/transformers/generation/utils.py", line 1989, in generate
    result = self._sample(
             ^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/transformers/generation/utils.py", line 2932, in _sample
    outputs = self(**model_inputs, return_dict=True)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/af5f98991c2661d0c4448ff6c2fb3c19e74f1c02/modeling_phi.py", line 1074, in forward
    outputs = self.transformer(
              ^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/af5f98991c2661d0c4448ff6c2fb3c19e74f1c02/modeling_phi.py", line 929, in forward
    layer_outputs = decoder_layer(
                    ^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/af5f98991c2661d0c4448ff6c2fb3c19e74f1c02/modeling_phi.py", line 733, in forward
    attn_outputs, self_attn_weights, present_key_value = self.mixer(
                                                         ^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/miniconda3/envs/moondream/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/af5f98991c2661d0c4448ff6c2fb3c19e74f1c02/modeling_phi.py", line 382, in forward
    query_rot, key_rot = apply_rotary_pos_emb(
                         ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.cache/huggingface/modules/transformers_modules/vikhyatk/moondream2/af5f98991c2661d0c4448ff6c2fb3c19e74f1c02/modeling_phi.py", line 214, in apply_rotary_pos_emb
    cos = cos[position_ids].unsqueeze(unsqueeze_dim)
          ~~~^^^^^^^^^^^^^^
IndexError: index is out of bounds for dimension with size 0

Getting similar issues

downgrade to transformers==4.41.2
related: https://github.com/huggingface/transformers/issues/32321

From what I see the Phi-model code is totally defined within moondream, while they are calling to the transformers implementation of generate(). I recommend you to open an issue in moondream since they would have to update Phi modeling code, we have been actively modifying it lately.

Updated here for compatibility with the latest version of transformers: https://github.com/vikhyat/moondream/commit/22565c070cc1bcbfca5a2f758d3e120b882a6e4b
Haven't pushed to HF yet - will do next week.

Hi!
Has it been pushed? I still have the out of bounds message.
Thanks!

did this problem have solution?


service-collection-codegen-fix

This is to fix a problem I've found where the first entity processed is to be excluded but then System.Close is still set to true so the "return services" code is never added.
I created the fork before the handle-bars commit, looking at the handle-bars code, this issue is not present due to the use of @first and @last.
NB: I will try changing the order of the entities in the entity xml.
Changing the order of the entities worked, I leave this pr here but feel free to just close it :-)

Closing due to resolution of new handlebars implementation (as indicated).


how to add an ALB

How can I add an ALB for a long running ECS task?

Hey, just wondering what your use-case for this is? Is it a web request delivery? i.e. to host Nginx or something?

Yeah it's is for a flask based web app. Typically the web app is added to a Target Group and an ALB is configure to route requests to that Target Group


create observability.md

Signed-off-by: swastiksingh22<EMAIL_ADDRESS>Describe your changes
I have added hindi version of observability.md. Thankyou I'll wait for your response.
Related issue number or link (ex: resolves #issue-number)
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

@swastiksingh22 gentle ping to implement necessary changes

@swastiksingh22 you need to change target branch from 'cncf: main' to 'cncf: dev-hi'.

Looks good to me 👍
Thanks @swastiksingh22 for contributing


add reverse data attribute

Added data attribute data-graph-reverse.
Can be used for example when table ordered desc by date but we need line graph by date with ordered by asc.

@sintanial this seams a very specific usage, witch does not have to be in the lib.
Instead an event to update the rows could be useful to more people.


GPU Utilization Panel displays multiple GPU data when the node has only 1 GPU

When I use the default provided dashboard to view GPU monitoring information, I find that once I rebuild the Pod that using the GPU, GPU Utilization Panel displays multiple GPU data when the node has only 1 GPU.

I am seeing the exact same thing:

We are running gpu-operator v23.9.1 on kubernetes v1.28.2 on ubuntu 22.04.3. All our GPUs are running driver v535.129.03.
I have dug into the prometheus metrics and the only thing I can see is that for the same GPU, some scrapes include exported_pod and exported_namespace fields when others don't. I think prometheus is treating those as different series.
Thoughts?

I think we can avoid being recognized as different GPUs through prometheus's aggregation function, eg sum(DCGM_FI_DEV_GPU_UTIL) by (modelName,instance,gpu)

Could you check the raw Prometheus output and compare labels on that metric?

Could you check the raw Prometheus output and compare labels on that metric?

{DCGM_FI_DRIVER_VERSION="525.105.17", Hostname="nvidia-dcgm-exporter-j2dld", UUID="GPU-a5ee8b12-c194-11ee-b88d-feea9bbda686", __name__="DCGM_FI_DEV_GPU_UTIL", container="nvidia-dcgm-exporter", device="nvidia0", endpoint="gpu-metrics", exported_container="main", exported_namespace="default", exported_pod="gpu-burn-7bf79f8dff-m7gpm", gpu="0", instance="<IP_ADDRESS>:9400", job="nvidia-dcgm-exporter", modelName="GRID V100-4C", namespace="sks-system-nvidia-gpu", node="hw-sks-test-vgpu-workergroup1-p975p", pod="nvidia-dcgm-exporter-j2dld", service="nvidia-dcgm-exporter"}
{DCGM_FI_DRIVER_VERSION="525.105.17", Hostname="nvidia-dcgm-exporter-j2dld", UUID="GPU-a5ee8b12-c194-11ee-b88d-feea9bbda686", __name__="DCGM_FI_DEV_GPU_UTIL", container="nvidia-dcgm-exporter", device="nvidia0", endpoint="gpu-metrics", exported_container="main", exported_namespace="default", exported_pod="gpu-burn-7bf79f8dff-zlt4d", gpu="0", instance="<IP_ADDRESS>:9400", job="nvidia-dcgm-exporter", modelName="GRID V100-4C", namespace="sks-system-nvidia-gpu", node="hw-sks-test-vgpu-workergroup1-p975p", pod="nvidia-dcgm-exporter-j2dld", service="nvidia-dcgm-exporter"}

The value of the label exported_pod is different.

This is what I am seeing for the same metric for the same GPU. These 2 lines results in different graphs in Grafana:
DCGM_FI_DEV_GPU_UTIL{DCGM_FI_DRIVER_VERSION="535.129.03", Hostname="worker54.ava.ai.lab", UUID="GPU-09ac954c-d587-43f7-78d8-274d772a59a5", container="nvidia-dcgm-exporter", device="nvidia3", endpoint="gpu-metrics", exported_container="service", exported_namespace="pryon", exported_pod="int-delphiranking-7465f95bbd-4gn85", gpu="3", instance="<IP_ADDRESS>:9400", job="nvidia-dcgm-exporter", modelName="NVIDIA L4", namespace="gpu-operator", pod="nvidia-dcgm-exporter-qz4kf", service="nvidia-dcgm-exporter"}
DCGM_FI_DEV_GPU_UTIL{DCGM_FI_DRIVER_VERSION="535.129.03", Hostname="worker54.ava.ai.lab", UUID="GPU-09ac954c-d587-43f7-78d8-274d772a59a5", container="nvidia-dcgm-exporter", device="nvidia3", endpoint="gpu-metrics", gpu="3", instance="<IP_ADDRESS>:9400", job="nvidia-dcgm-exporter", modelName="NVIDIA L4", namespace="gpu-operator", pod="nvidia-dcgm-exporter-qz4kf", service="nvidia-dcgm-exporter"}

The only difference between the 2 is that one includes exported_* tags but the others don't.

The "exported_*" tags result from the Prometheus configuration. See: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
# If honor_labels is set to "false", label conflicts are resolved by renaming
# conflicting labels in the scraped data to "exported_<original-label>" (for
# example "exported_instance", "exported_job") and then attaching server-side
# labels.

As I see from the provided by @dbblackdiamond sample, I see, that metrics were collected from two different pods:
exported_pod="int-delphiranking-7465f95bbd-4gn85" and exported_pod="int-delphianswering-888c75798-t6qf9", both pods used the same gpu=3. That is expected because the pod was recreated.

@dbblackdiamond , @Levi080513, According to the Prometheus Data Model (https://prometheus.io/docs/concepts/data_model/):
Prometheus stores all data as time series. Every time series is uniquely identified by its metric name and optional key-value pairs called labels. The change of any label's value, including adding or removing labels, will create a new time series.
When a pod uses the GPU, the DCGM exporter adds information about which POD uses the GPU to the metric labels. This creates a new time series.
You can combine time series into one by using the following grafana query:
max by(instance, gpu) (DCGM_FI_DEV_GPU_UTIL{instance!~"$instance", gpu!~"$gpu"})

Also, you can configure Prometheus to perform relabeling. See: https://training.promlabs.com/training/relabeling/introduction-to-relabeling/relabeling-overview.


Questions

Hi!
I've been looking to your examples and code and I was hoping that you could answer a few questions.
Right now, I trying to implement a very simple model: a 1D signal with 2 states and the observation models of each state is a univariate Gaussian. Then, I want to train the model and use the Viterbi algorithm to determine the states.
So I did the following:
create model
trans_matrix = transition_model() # 2x2 matrix
mu_1, sigma_1, mu_2, sigma_2  = observational_model_pyhsmm()
N = 2 # number of states
obs_distns = [pyhsmm.distributions.ScalarGaussianNIX(mu_1, sigma_1^2), pyhsmm.distributions.ScalarGaussianNIX(mu_2, sigma_2^2)]
pi_0 = np.array([0.8, 0.2])
Build the HMM model
model = pyhsmm.models.HMM( trans_matrix=trans_matrix, pi_0 = pi_0, obs_distns=obs_distns)
fit model
for sample in all_samples:
model.add_data(sample)
model.EM_fit(tol=1e-9, maxiter=1e8)
test model
pred = model.heldout_viterbi(distance_frame)
My questions are:

Am I passing the transition and initial distributions (in the form of array) correctly to the model?

There are other Gaussian models, like 'ScalarGaussianNonconjNIX', 'ScalarGaussianNonconjNIG'x, 'ScalarGaussianFixedvar', what are the differences between these?

I have several signals for training, do I have to pass each signal one by one, or is there a method to pass all the signal at once?

To use the Viterbi algorithm, is 'heldout_viterbi' the correct method?

For a observation model of mixture of multivariate Gaussians the examples present the following parameters:

obs_hypparams = {'mu_0':np.zeros(obs_dim),
'sigma_0':np.eye(obs_dim),
'kappa_0':0.25,
'nu_0':obs_dim+2}
a) Is kappa_0 the weight of each component of the GMM?
b) Is nu_0 the number of components of the GMM?
c) What is the difference of mu, sigma and mu_0 and sigma_0?
Sorry for the long post.
Regards,
jmgo

I don't know this code very well, but I might be able to answer your final question 5.
There's no GMM in the code you quote, I think - instead it's about a single Gaussian observation model.
mu_0 and sigma_0 and kappa_0 and nu_0 are the hyperparameters for the priors about a Gaussian - i.e. they define the parameters for the conjugate priors. The first two are about the location of the mean, and the last two are about the covariance.
Then, if you take the _0 off the name, you're probably talking about the posterior values. So mu and sigma tell you where we believe the actual mean is.

Sorry for the delay. You've probably figured out most of the answers, but these answers might serve as documentation for anyone else who may be interested.

Am I passing the transition and initial distributions (in the form of array) correctly to the model?

Yes. There are several ways to do it, and passing in arrays like that works.

There are other Gaussian models, like 'ScalarGaussianNonconjNIX', 'ScalarGaussianNonconjNIG', 'ScalarGaussianFixedvar', what are the differences between these?

The differences in the first two are the parameterization of the prior. ScalarGaussianNonconjNIX uses a normal-inverse-chi-squared parameterization of the prior on variances (hence the "NIX"), while ScalarGaussianNonconjNIG uses a normal-inverse-gamma parameterization. Having different parameterizations means the distribution is the same but the calculations are different; it's working in a different coordinate system. I probably wrote the NIX version first because that may have been easier for sampling (and maybe it's the version that Gelman et al. follow in Bayesian Data Analysis), but the NIG version is the 'natural parameterization' and hence is easier for mean field methods. It looks like the NIX class supports Gibbs sampling and not variational methods while the NIG class supports variational methods and not sampling (you can tell from the classes they inherit from and the methods they define).
ScalarGaussianFixedvar is for scalar Gaussian observations but where the variance is fixed. Both of the other classes, ScalarGaussianNonconjNIX and ScalarGaussianNonconjNIG, allow you to learn the variance as well as the mean, while with ScalarGaussianFixedvar you fix the variance and only learn the mean.

I have several signals for training, do I have to pass each signal one by one, or is there a method to pass all the signal at once?

You'd have to call add_data in a loop, adding them one-by-one. I can't remember if I had a good reason for doing that; maybe we should add a wrapper method.

To use the Viterbi algorithm, is 'heldout_viterbi' the correct method?

It depends on what you want to use the Viterbi algorithm for. If you want to use it for making predictions on new data sequences, then heldout_viterbi is a decent method to use. It fixes the parameters (e.g. on the current sampled values). If you want to use Viterbi for training, like Viterbi EM (which also corresponds to some small variance asymptotics-based algorithms), then look at the Viterbi_EM_fit method in the _HMMViterbiEM base class. If you want to use Viterbi to decode the training sequences (as opposed to new held-out data sequences), then you can use the _Viterbi_E_step method, which does the same as heldout_viterbi would but you don't have to pass in the data sequences.

For a observation model of mixture of multivariate Gaussians the examples present the following parameters: [...]

@danstowel is right on this one. I suggest looking at Wikipedia and Gelman et al.'s Bayesian Data Analysis for a detailed discussion (plus also Ch. 2 of my PhD thesis), but briefly, those hyperparameters are just for the normal-inverse-Wishart (NIW) prior for the Gaussian mean and covariance parameters (and there's no GMM being used).
The _0 naming comes from a Bayesian statistics convention. Let's say you have some multivariate Gaussian data and you want to infer the mean and covariance parameters in a Bayesian way. Before observing any data, you might start with a NIW prior on the mean and covariance,
(mu, Sigma) ~ NIW(nu_0, S_0, mu_0, kappa_0),
so the parameters of your prior are (nu_0, S_0, mu_0, kappa_0) and the _0 subscript means they aren't informed by any data yet. After observing n observations x_1, x_2, ..., x_n that are generated by
x_i | mu, Sigma ~ Normal(mu, Sigma)
independently for i=1,2,...,n, then you would might write the posterior random variable as
(mu, Sigma) | x_1, x_2, ..., x_n ~ NIW(nu_n, S_n, mu_n, kappa_n).
That is, the posterior is still in the NIW family (that's what it means to be a conjugate prior), and to distinguish the new parameters after seeing n datapoints we've written them with _n subscripts.
One more thing to keep in mind is that you can write formulas for the posterior hyperparameters in terms of the prior hyperparameters and some statistics of the data x_1, ..., x_n. Looking at those update formulas can help you interpret the meaning of the prior hyperparameters; they often take the form of "pseudo-statistics" or "pseudo-counts", meaning you can interpret the prior as corresponding to some pseudo-dataset you're pretending to have observed.
One more thing to keep in mind: there's a funny naming convention in most of pybasicbayes that seems unnatural to me now. Basically, distribution classes actually model prior-likelihood pairs (usually conjugate pairs), but they're often only named after the likelihood part. For example, the Gaussian class really models a Gaussian likelihood along with a conjugate normal-inverse-Wishart prior, and so the parameters of both are all collected into that one class. A better name for that class would be to call it GaussianNormalInverseWishart. (Some friends and I have long planned on a rewrite, which will have not only better names but a better organization and more powerful abstractions, but we haven't gotten to it.)


HasMany now has cascading deletions

With v3.0.0-preview6, HasMany now adds cascading deletion constraints by default.  This is a breaking change; if these cascading constraint result in a cycle, an error such as the following will appear:
Microsoft.Data.SqlClient.SqlException: 'Introducing FOREIGN KEY constraint 'FK_Leads_AspNetUsers_UserId' on table 'Leads' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Could not create constraint or index. See previous errors.'

An example in which this breaks:

Customer has many Inquiries with one Customer
SupportRep has many Inquiries with one AssignedSupportRep
SupportRep has many AssignedCustomers with one DefaultSupportRep

This worked in 2.x and 3.0.0-preview5; it results in an exception in preview6.

@Zenexer Please post a small, runnable project/solution or complete code listing that demonstrates the behavior you are seeing.

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


Refactor Codebase

Closes #41
Closes #34

Can we close this pr in favor of #53 ? 53 is a superset of this change.

will you finish ?

will you finish ?

Not this PR. #53 took over where this PR left off. So the official changes should be handled in that PR instead.


Cherry-pick 6658

Description
Cherry-pick https://github.com/projectcalico/calico/pull/6658

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

Build with golang 1.18.5

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

Closing this one since it's out of date and introduces a number of test failures.


Iterators: Implement scan op that supports scanning pandas DataFrames

@nicolasvasilache: I have cleaned this up enough for a first review from you.

FYI, I have factored out #563, #564, #565, and #566 out of the original PR in order to be able to concentrate on the design aspect here. (#566 still needs to be merged.) I haven't addressed any of the outstanding design issues yet, so nobody other than me needs to take action at this point.

Superseded by #590, #591, #592, #593, #594, #595, #579, and #581.


RequestException should accept throwable as prev

Not sure if there should be also a wrapThrowable function or it is an overkill

Stupid of me... 🤦♂ sorry for the noise.


Uncaught Error: ENOENT: no such file or directory, close

Prerequisites

[x ] Can you reproduce the problem in safe mode?
[x ] Are you running the latest version of Atom?
[ ] Did you check the debugging guide?
[ ] Did you check the FAQs on Discuss?
[ ] Are you reporting to the correct repository?
[x ] Did you perform a cursory search to see if your bug or enhancement is already reported?

-- I had updated another bug which looked similar to me (10774), but was asked to open a new issue.
Description
While trying to save a file, which was moved from one directory to another, saw this error.
Steps to Reproduce

Create a file in a directory and open it for editing
While the file is open, go to the terminal and move the file to another directory
In Atom, open this file in a new tab and then try to save..see the "ENOENT..." error

Notes:

The file does seem to get saved.
I am working on a directory which is mounted remotely.

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
You can get this information from executing atom --version and apm --version at the command line. Also, please include the OS and what version of the OS you're running.
MacBook-Pro:ha uvanzara$ atom --version
1.6.2
MacBook-Pro:ha uvanzara$ apm --version
apm  1.6.0
npm  2.13.3
node 0.10.40
python 2.7.10
git 2.6.4
[Enter steps to reproduce below:]

...
...

Atom Version: 1.6.2
System: Mac OS X 10.11.4
Thrown From: Atom Core
Stack Trace
Uncaught Error: ENOENT: no such file or directory, close
At /Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:896

Error: ENOENT: no such file or directory, close
    at Error (native)
    at Object.fs.closeSync (fs.js:518:18)
    at Object.closeSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/node_modules/regenerator/node_modules/commoner/node_modules/graceful-fs/graceful-fs.js:51:27)
    at Object.fs.writeFileSync (fs.js:1188:8)
    at Object.fsPlus.writeFileSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/fs-plus/lib/fs-plus.js:279:17)
    at File.module.exports.File.writeFileSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/file.js:282:19)
    at File.module.exports.File.writeFileWithPrivilegeEscalationSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/file.js:398:21)
    at File.module.exports.File.writeSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/file.js:355:12)
    at TextBuffer.module.exports.TextBuffer.saveAs (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1059:19)
    at TextBuffer.module.exports.TextBuffer.save (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1043:19)
    at TextEditor.module.exports.TextEditor.save (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:629:26)
    at Pane.module.exports.Pane.saveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:613:18)
    at Pane.module.exports.Pane.saveActiveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:596:19)
    at Workspace.module.exports.Workspace.saveActivePaneItem (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:673:35)
    at atom-workspace.commandRegistry.add.core:save (/Applications/Atom.app/Contents/Resources/app.asar/src/register-default-commands.js:205:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands
     -0:00.6.0 core:save (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "themes": [
      "atom-dark-ui",
      "genesis-syntax"
    ]
  },
  "editor": {
    "fontSize": 11,
    "invisibles": {},
    "preferredLineLength": 120,
    "showIndentGuide": true,
    "softWrap": true,
    "softWrapAtPreferredLineLength": true,
    "tabLength": 4
  }
}

Installed Packages
# User
No installed packages

# Dev
No dev packages

@losmaven You mentioned in the other issue that you could only reproduce this on a single file, so I have some questions regarding that.

Does it happen with other files in the same folder?
Can you paste the file's path here?
If you download the file locally and then try to save it, does this error still occur?

Thanks!

@50Wliu

No, seems to be happening only with this 1 file
The path of the file:
/Volumes/print$/losmave/test/functional/ha
I made a local copy and don't see any errors

I have problem with saving files in Cybermount. I pasted the error log below:
Error: ENOENT: no such file or directory, close
at Error (native)
at Object.fs.closeSync (fs.js:609:18)
at Object.fs.writeFileSync (fs.js:1361:23)
at Object.writeFileSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/fs-plus/lib/fs-plus.js:281:17)
at File.module.exports.File.writeFileSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/node_modules/pathwatcher/lib/file.js:285:19)
at File.module.exports.File.writeFileWithPrivilegeEscalationSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/node_modules/pathwatcher/lib/file.js:463:21)
at File.module.exports.File.writeSync (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/node_modules/pathwatcher/lib/file.js:380:12)
at TextBuffer.module.exports.TextBuffer.saveAs (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1130:19)
at TextBuffer.module.exports.TextBuffer.save (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1114:19)
at TextEditor.module.exports.TextEditor.save (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:904:26)
at Pane.module.exports.Pane.saveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:738:18)
at Pane.saveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:3:59)
at Pane.module.exports.Pane.saveActiveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:721:19)
at Workspace.module.exports.Workspace.saveActivePaneItem (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:693:35)
at atom-workspace.core:save (/Applications/Atom.app/Contents/Resources/app.asar/src/register-default-commands.js:225:32)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:259:29)
at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:59
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:106:36)
at HTMLDocument. (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:59)


Remove API Password from releasenotes

Microsoft Reviewers: Open in CodeFlow

This might have also been updated through a PR I didn't know about earlier:

#148490

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 876)


Next js ver. 13.0.2 build error

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.10.11
Current Behavior
No response
Expected Behavior
No response
Steps To Reproduce
yarn build
No response
Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
No response
Anything else?

wagmi requires TypeScript 4.7.4 or later. More info here.

thank you very much i will follow doc

it works successfully


may i have a look at the training loss curve

Dear author:
Thank you for your great work, i have used your code to train my model, but this is my first time to finetune a causal language model, i have no idea about what is a good loss curve, so i would like to have a look at yours, could you please help me, thank you a lot!

I can describe mine, the train loss goes down from 2.5 to 0.1 in epoch 10, while validation loss goes down to 1.15 at epoch 5, and after it goes up.

I can describe mine, the train loss goes down from 2.5 to 0.1 in epoch 10, while validation loss goes down to 1.15 at epoch 5, and after it goes up.

You should set early stopping to monitor the loss, but it seems like the invalid training caused by other issues. What are your based model and train_data?

@Oxi84 Thanks! That is cool, mine is still 0.8 after 1k steps, my batch size=128, lora-r=8, base_model=llama-7b, i used int8 training. :D


fix: Remove eslint object sort plugin

This is leading to too much churn in our diffs, and attempting to fix everyting at once here mysteriously blows up our tests. Until https://github.com/artsy/force/pull/6827 can be fixed, just gonna opt to remove this plugin.

lol