text:
Trying to eliminate dropouts using Opus codec

Hi again 😀
I've been furthering my experiments with baresip and trying various configurations, customising code using various hardware (MacBook Pros, BeagleBoards, BeagleBones) and have resulted in the following observations:
When establishing a direct LAN connection between e.g. MacBook Pros as follows:
In ~/.baresip/accounts:
<sip:user1:user1@192.168.0.27>;regint=0
In ~/.baresip/config:
sip_listen		192.168.0.27:5060
Apart from a glitch or two when starting up (on every occasion), I get zero dropouts 😊
However, as soon as I traverse the internet, I can't find any configuration or customisation of the Opus encode.c file that won't result in dropouts 😕
Using the following Opus configuration:
# Opus codec parameters
opus_bitrate		64000 # 6000-510000
opus_inbandfec	yes
opus_cbr			no
opus_dtx			no

I am willing to trade latency to eliminate dropouts, but despite using very large jitter buffer delay values (e.g. 1000-1005) I still get the same dropout behaviour. My experience is that increasing the value of the jitter buffer delay only slightly improves things, but doesn't completely eliminate the dropouts.
I have tried adding the OPUS_SET_PACKET_LOSS_PERC to the opus_encoder_ctl in the Opus encode.c file with various values (currently set at 10%). This appears/sounds like it has zero effect.
Sample RTP Stats:
audio           Transmit:     Receive:
packets:          14478        13745
avg. bitrate:      64.0         56.0  (kbit/s)
errors:               0            0
pkt.report:       14259        13527
lost:               744          717
jitter:             1.0          1.0  (ms)

I've read the following on https://hydrogenaud.io/index.php/topic,108570.0.html with interest:

As you indicate, the problems you report (drops and edits) may be caused by the decoder not having a packet available when it needs it.  That packet was either lost, hasn't arrived yet, or there is a bug in the jitter buffer that stores packets and feeds them to the decoder.
There is also a possibility that the audio player isn't able to provide audio data in time when the OS needs it.  In this case your decoder/playout application may need a larger audio buffer towards to OS.  And check that your CPU load on both sender and receiver side is no more than ~50%, for the core that runs the process.  These problems could cause what you call drops, but not edits.
For the best possible streaming, I'd recommend to:

Use TCP, and make sure retransmission is enabled.  Sometimes VoIP applications use TCP without retransmission just to deal with certain firewalls, but this doesn't help in the your case.
To benefit from TCP's retransmission you'll need a large buffer size in the receiver.  The reason is that it takes time to figure out a packet was lost, request a new one, send it over, etc. Use a buffer size of at least 10x a typical roundtrip time.  (Or just use a buffer of 10 seconds or so, if your application is ok with this kind of delay.)
Make sure that your jitter buffer can handle packet reordering (some don't).  Packets get naturally delivered out of order once in a while, and any TCP retransmission would also reorder packets.
With TCP and a long enough buffer you should be able to avoid all lost packets.  So you might as well combine as many audio frames as possible in a packet (high packet groups size).

Given the issues I'm having and the advice in the quote above, do you have any suggestions as to how I can achieve reduced/eliminated dropouts?

your network has around 5.2% packet loss which I think is very high.
can you try to reduce the opus_bitrate to a low value such as 24000 (bits/s)
on the other hand, the RTP jitter buffer in baresip is not very good, and it
needs some improvements to handle high packet loss
/Alfred

hey @tonylangley any updates from you?
do you think we should try to solve it in baresip?

Hi @alfredh
Thanks for reviewing this issue again.
I've not focused on using baresip for the time being (because of the issues I raised).
I know that the drop-outs are high (likely from using a VPN), but I gather that it's still not so high that it's unworkable. My belief is that if an effective jitter buffer is implemented that works in unison with the codec's OPUS_SET_PACKET_LOSS_PERC then this would be viable. Whilst I can probably reduce packet loss, it's unlikely I can completely eliminate it.
So I do think that baresip should help solve this with improvements to the implementation.
Do you agree?

thanks for your comments,
this will be quite a lot of work for me to implement and test this properly,
I am afraid I do not have the time for that at the moment.
you are welcome to modify the code and test it, please send a patch/PR if you
get it working.
I will close the ticket for now, feel free to reopen it if you get something working.
/Alfred

authors: alfredh tonylangley

repo: alfredh/baresip


text:
backends: use absolute imports

Python 3 raises an error here:
ModuleNotFoundError: No module named 'rpm_sign'

Use absolute imports instead so the code works on Python 3.
Enable the absolute_imports behavior from __future__ to make Python 2.6 and 2.7 behave the same as Python 3 in this regard.

I've tested this on a dummy Debian repo with Python 3.11 and it works.

source: gharchive/pull-request

repo: alfredodeza/merfi

license: mit

license_type: permissive

license_source: bigquery


text:
Implement good looking default style for widgets

From recent discussions, we decided that our default (connected) widgets should provide a default style that is good looking by default.
Right now we were on a track were only the SearchBox had some "good" default styling and behavior. But we should push it further. We are all convinced that the connector API is good enough and so easy to use that there's no need to provide only a very light style for our own widget, we can be opiniated here.
Steps to get there:

[x] create a raw examples using all our widgets (or use storybook?)
[ ] summon @LukyVj to help us come up with a consistent style
[ ] stop documenting theme= props, the only public API is now CSS class names
[ ] document all available CSS class names for every widget

\o/

source: gharchive/issue

authors: bobylito vvo

license: MIT

license_source: github-api


text:
Some assets have incorrect IsFrozen value

Summary
The validation tool found two accounts containing assets with an incorrect is-frozen value:
XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U
SFETP36VAM5TM3KRHSZYIWESGROZFFSYRCNHLLO3PIT4MHFWI535VTPGVA
Here is one example:
Algod Details:
{
    "address": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
    "amount": 200000,
    "amount-without-pending-rewards": 200000,
    "apps-local-state": [],
    "apps-total-schema": {
        "num-byte-slice": 0,
        "num-uint": 0
    },
    "assets": [
        {
            "amount": 0,
            "asset-id": 127094400,
            "creator": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
            "is-frozen": false
        }
    ],
    "created-apps": [],
    "created-assets": [
        {
            "index": 127094400,
            "params": {
                "clawback": "BDZ6KYI54DLQH7INZSPVMAOLMLCVL4YFAI5TQVT5YR5JGH7AMFGO2BUENM",
                "creator": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
                "decimals": 0,
                "default-frozen": true,
                "freeze": "BDZ6KYI54DLQH7INZSPVMAOLMLCVL4YFAI5TQVT5YR5JGH7AMFGO2BUENM",
                "manager": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
                "name": "test_main_praveen",
                "reserve": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
                "total": 12,
                "unit-name": "ELITE",
                "url": "https://path/to/asset/details"
            }
        }
    ],
    "pending-rewards": 0,
    "reward-base": 170054,
    "rewards": 597,
    "round": 12041377,
    "status": "Offline"
}
Indexer Details:
{
    "address": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
    "amount": 200000,
    "amount-without-pending-rewards": 200000,
    "assets": [
        {
            "amount": 0,
            "asset-id": 127094400,
            "creator": "",
            "deleted": false,
            "is-frozen": true,
            "opted-in-at-round": 12003657
        }
    ],
    "created-assets": [
        {
            "created-at-round": 12003657,
            "deleted": false,
            "index": 127094400,
            "params": {
                "clawback": "BDZ6KYI54DLQH7INZSPVMAOLMLCVL4YFAI5TQVT5YR5JGH7AMFGO2BUENM",
                "creator": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
                "decimals": 0,
                "default-frozen": true,
                "freeze": "BDZ6KYI54DLQH7INZSPVMAOLMLCVL4YFAI5TQVT5YR5JGH7AMFGO2BUENM",
                "manager": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
                "name": "test_main_praveen",
                "reserve": "XMBP3U6BJ7LHBOSS7YWGCJ76SJOMIAHNXJ7KTU2ZCK72S6BJUL5L46R36U",
                "total": 12,
                "unit-name": "ELITE",
                "url": "https://path/to/asset/details"
            }
        }
    ],
    "created-at-round": 12003614,
    "deleted": false,
    "pending-rewards": 0,
    "reward-base": 169821,
    "rewards": 597,
    "round": 12041376,
    "sig-type": "sig",
    "status": "Offline"
}

Scope/Requirements
Figure out why this happened and fix it.
Urgency/Relative Priority

Hello,
Glad to see this issue open for a more than a moment I thought I had configured indexer node wrong or something but then I checked algoexplorer api and had same results.
Example in Testnet network:
asset-id 14073882
Algod request
$curl -s -X GET  "https://api.testnet.algoexplorer.io/v2/accounts/LUKKSSPGWGBSHR65UPLNRPK734VKSPBLVLMP4KNAVWGUTODO2YNYMZISRM" | jq .
{
  "address": "LUKKSSPGWGBSHR65UPLNRPK734VKSPBLVLMP4KNAVWGUTODO2YNYMZISRM",
  "amount": 4496448,
  "amount-without-pending-rewards": 4496448,
  "apps-local-state": [],
  "apps-total-schema": {
    "num-byte-slice": 0,
    "num-uint": 0
  },
  "assets": [
    {
      "amount": 0,
      "asset-id": 14073882,
      "creator": "QGYW62CV77NIABFIC7Q6QJDG4OL3NWPZKQBHF7J6BOFJWI5VY6PCWOLS5Q",
      "is-frozen": true
    },
    {
      "amount": 10,
      "asset-id": 13672793,
      "creator": "Y7DTZHSVUSPZNZ4N5ODX3NPO3SSGE37WCWIHGA7OFDMUCEU3DIVHYHNF2U",
      "is-frozen": false
    },
    {
      "amount": 5,
      "asset-id": 14032497,
      "creator": "Y7DTZHSVUSPZNZ4N5ODX3NPO3SSGE37WCWIHGA7OFDMUCEU3DIVHYHNF2U",
      "is-frozen": false
    },
    {
      "amount": 12,
      "asset-id": 14032847,
      "creator": "Y7DTZHSVUSPZNZ4N5ODX3NPO3SSGE37WCWIHGA7OFDMUCEU3DIVHYHNF2U",
      "is-frozen": false
    }
  ],
  "created-apps": [],
  "created-assets": [],
  "pending-rewards": 0,
  "reward-base": 26530,
  "rewards": 448,
  "round": 12623364,
  "status": "Offline"
}

Indexer request
$curl -s -X GET  "https://api.testnet.algoexplorer.io/idx2/v2/accounts/LUKKSSPGWGBSHR65UPLNRPK734VKSPBLVLMP4KNAVWGUTODO2YNYMZISRM" | jq .
{
  "account": {
    "address": "LUKKSSPGWGBSHR65UPLNRPK734VKSPBLVLMP4KNAVWGUTODO2YNYMZISRM",
    "amount": 4496448,
    "amount-without-pending-rewards": 4496448,
    "assets": [
      {
        "amount": 5,
        "asset-id": 14032497,
        "creator": "",
        "is-frozen": false
      },
      {
        "amount": 10,
        "asset-id": 13672793,
        "creator": "",
        "is-frozen": false
      },
      {
        "amount": 12,
        "asset-id": 14032847,
        "creator": "",
        "is-frozen": false
      },
      {
        "amount": 0,
        "asset-id": 14073882,
        "creator": "",
        "is-frozen": false
      }
    ],
    "pending-rewards": 0,
    "reward-base": 26530,
    "rewards": 0,
    "round": 12623370,
    "sig-type": "sig",
    "status": "Offline"
  },
  "current-round": 12623370
}

Also the indexer response contains creator but it is empty not sure if that's what is reported in https://github.com/algorand/indexer/issues/324 in which it is mentioned that the creator is not even in the asset holding object which appears to be in this case but it is empty.
Thank you.

Solving with #414

repo: algorand/indexer


text:
Build error

Hi, thanks for the library!
I have some trouble building this library. Apparently, they are caused by the dependencies (Pairing-plus and/or pointproofs-paramgen).
After configuring rand_core = "*" and rand_xorshift = "*" (because if the version is left empty, there will be other errors), some errors like this come up:
error[E0599]: no function or associated item named `deserialize` found for struct `PointproofsParams` in the current scope
   --> src/pairings/param.rs:300:64
    |
300 |     let param = match pointproofs_paramgen::PointproofsParams::deserialize(reader, true) {
    |                                                                ^^^^^^^^^^^ function or associated item not found in `PointproofsParams`
    |
    = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
4   | use pairing_plus::serdes::SerDes;
    |

Could you have a look? Thanks in advance!

I had the same problem, did you solve it?

I had the same problem, did you solve it?

Yeah, try specifying the branch of the pairing-plus dependency in Cargo.toml. In other words, replace this line (line 20, Cargo.toml):
pairing-plus = { git = "https://github.com/algorand/pairing-plus"}
by the following line:
pairing-plus = { git = "https://github.com/algorand/pairing-plus", branch="master"}

authors: randoracle therainisme

repo: algorand/pointproofs


text:
TEALScript starter project error

Howdy,
I'm pretty new to the Algorand developer ecosystem and am trying to run the default project:

Install dependencies (Docker, Python, pipx, etc.)
algokit localnet start (edit: type, startt -> start)
algokit init
Select tealscript.
Configure project name
algokit bootstrap = Y
npm run build

There is an immediate error:
> mbb@0.0.0 compile-contract
> tealscript contracts/*.algo.ts contracts/artifacts

C:\Users\mcelr\Code\mbb\node_modules\@algorandfoundation\tealscript\dist\lib\compiler.js:1440
            .getStatements()
            ^

TypeError: Cannot read properties of undefined (reading 'getStatements')
    at Compiler.compileAll (C:\Users\mcelr\Code\mbb\node_modules\@algorandfoundation\tealscript\dist\lib\compiler.js:1440:13)
    at processFile (C:\Users\mcelr\Code\mbb\node_modules\@algorandfoundation\tealscript\dist\bin\tealscript.js:62:42)
    at C:\Users\mcelr\Code\mbb\node_modules\@algorandfoundation\tealscript\dist\bin\tealscript.js:118:29
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (C:\Users\mcelr\Code\mbb\node_modules\@algorandfoundation\tealscript\dist\bin\tealscript.js:118:14)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)

Node.js v20.11.0

Other info:

Algokit Version: 1.9.3
Python 3.12.1
Fresh install of Windows 11 Pro

Thanks in advance for any guidance.

Hey thanks for the issue! I believe this is related to some recent changes that aren't working as expected on Windows. I will be debugging this today and will update this issue once it has been resolved.

0.74.0 was just published and should fix the issue! Be sure to update your TEALScript in your project and the issue should be gone. I will update the template later today so future inits won't run into this

Thanks! After updating package.json entry @algorandfoundation/tealscript to 0.74.0, and running npm update everything seems to be working.

authors: amcelroy joe-p

repo: algorandfoundation/TEALScript


text:
Project Galapago Instant NFT Lending XGov Grant Proposal

Thank you considering our proposal! We believe approval of this proposal will allow us to launch the project on to Mainnet and provide all the values to the entire Algorand ecosystem!

Hi Jack, please also engage with the community at the Algorand Forum
https://forum.algorand.org/t/xgov-42-project-galapago-instant-nft-lending/9943

authors: jack-jackhui nonfungibleab

repo: algorandfoundation/xGov


text:
config: rename shutter_position to motion_blur_strength

This reapplies the relevant part from commit 218188b, with an extra fix for the corresponding CFG_EXPORT_* entry.

Thanks for the merge!


text:
项目起步阶段是否可先用内存模式

项目起步阶段时，访问量和数据都不是很大，是否可先用内存模式，后续再改为使用http模式，部署task-server。会有什么隐患吗？

任务记录是需要持久化的噢，跑单测或者单机测试可以启动内存模式。当前内存模式并没有缓存清理等逻辑。

authors: clsaa yiniesta

repo: alibaba/AGEIPort


text:
test pr gh2

test pr
test pr2

感谢您提出的宝贵问题，我们有7x24小时服务的“HaaS百事通”客服系统，
您可以先尝试能否解决您的问题(https://haas.iot.aliyun.com/?ask=1&f=a2cre.b82925042)

如果“HaaS百事通”没有解决您的问题，请回复“人工支持”，我们会在工作日(10:00-12:00/14:00-18:00)10分钟内回复您。

auto build success,number:34

autotest success,number:1050

测试下

authors: YiluMao jinliangli skylarCai

repo: alibaba/AliOS-Things


text:
关于模型中使用了nn.Parameter()会导致转TFlite会失败的问题

当我在尝试将我的模型转换为TFlite模型时出现了如下报错：
export.py 95 <module>

export.py 33 ckpt2tflite
converter.convert()

base.py 480 convert
self.init_operations()

base.py 443 init_operations
converter.parse(node, attrs, args, self.common_graph)

aten.py 1187 parse
assert False, "other should have type int, float, tensor in aten::mul(input, other)"

AssertionError:
other should have type int, float, tensor in aten::mul(input, other)

调试追踪后发现在一些层中，我使用nn.Parameter()方法将一些自定义的需要被训练的参数进行了注册，此时这些参数虽然还是张量，但被包裹在了Parameter containing中，这导致项目源码中进行类型检查的函数无法正确识别此类参数，以下时项目中转换失败的关键代码：

class ATenAddOperator(ATenAddSchema):
    def parse(self, node, attrs, args, graph_converter):
        super().parse(node, attrs, args, graph_converter)

        self.run(node)

        other = self.input_tensors[1]
        alpha = self.input_tensors[-1]
        assert alpha == 1, "Only alpha == 1 is supported"

        if type(other) in (int, float, bool):
            self.input_tensors[1] = torch.tensor([other], dtype=self.input_tensors[0].dtype)
        elif type(other) != torch.Tensor:
            assert False, "other should have type int, float, tensor in aten::add(input, other)"

        self.elementwise_binary(tfl.AddOperator, graph_converter, True)

该函数检查了变量是否为int，float，bool以及torch.tensor，不在上述数据类型的变量都会引发一个assert error，但项目管理员似乎没有考虑到Parameter containing类型的变量是torch.tensor的子类型，能够进行正常的张量运算，或者调用.data方法也能够将Parameter containing类型的变量变成torch.tensor的变量（当然我不确定这样是否会引发其他未知错误导致转换的精度丢失），我姑且在源码中对两个算子进行了一些改动，成功让模型转换成功：
class ATenAddOperator(ATenAddSchema):
    def parse(self, node, attrs, args, graph_converter):
        super().parse(node, attrs, args, graph_converter)

        self.run(node)

        other = self.input_tensors[1]
        alpha = self.input_tensors[-1]
        assert alpha == 1, "Only alpha == 1 is supported"

        if isinstance(other, torch.nn.Parameter):
            self.input_tensors[1] = self.input_tensors[1].data
            other = self.input_tensors[1]

        if type(other) in (int, float, bool):
            self.input_tensors[1] = torch.tensor([other], dtype=self.input_tensors[0].dtype)
        elif type(other) != torch.Tensor:
            assert False, "other should have type int, float, tensor in aten::add(input, other)"

        self.elementwise_binary(tfl.AddOperator, graph_converter, True)

class ATenMulOperator(ATenMulSchema):
    def parse(self, node, attrs, args, graph_converter):
        super().parse(node, attrs, args, graph_converter)

        self.run(node)

        other = self.input_tensors[1]

        if isinstance(other, torch.nn.Parameter):
            self.input_tensors[1] = self.input_tensors[1].data
            other = self.input_tensors[1]

        if type(other) in (int, float):
            self.input_tensors[1] = torch.tensor([other], dtype=self.input_tensors[0].dtype)

        elif type(other) != torch.Tensor:
            assert False, "other should have type int, float, tensor in aten::mul(input, other)"

        self.elementwise_binary(tfl.MulOperator, graph_converter, True)

项目人员可以看看这样的改动是否会引起精度丢失的问题，虽然模型转换成功，也能够正常推理使用，但我对这样简单的改动抱有一定疑虑

@Bun-TianYi 直接改成if not isinstance(other, torch.Tensor)就好了吧，这样也不破坏变量的传播关系

@Bun-TianYi 直接改成if not isinstance(other, torch.Tensor)就好了吧，这样也不破坏变量的传播关系

我认为这样会引发一些恶性bug，因为在一些特殊需求的模型中是有人将常量也作为模型的一层输出使用，所以源码中的
if type(other) in (int, float):
self.input_tensors[1] = torch.tensor([other], dtype=self.input_tensors[0].dtype)
这一句是有必要的

@Bun-TianYi 直接改成if not isinstance(other, torch.Tensor)就好了吧，这样也不破坏变量的传播关系

我认为这样会引发一些恶性bug，因为在一些特殊需求的模型中是有人将常量也作为模型的一层输出使用，所以源码中的 if type(other) in (int, float): self.input_tensors[1] = torch.tensor([other], dtype=self.input_tensors[0].dtype) 这一句是有必要的

我的意思是把
        elif type(other) != torch.Tensor:
            assert False, "other should have type int, float, tensor in aten::mul(input, other)"

改成
        elif not isinstance(other, torch.Tensor):
            assert False, "other should have type int, float, tensor in aten::mul(input, other)"

@Bun-TianYi 直接改成if not isinstance(other, torch.Tensor)就好了吧，这样也不破坏变量的传播关系

我认为这样会引发一些恶性bug，因为在一些特殊需求的模型中是有人将常量也作为模型的一层输出使用，所以源码中的 if type(other) in (int, float): self.input_tensors[1] = torch.tensor([other], dtype=self.input_tensors[0].dtype) 这一句是有必要的

我的意思是把
        elif type(other) != torch.Tensor:
            assert False, "other should have type int, float, tensor in aten::mul(input, other)"

改成
        elif not isinstance(other, torch.Tensor):
            assert False, "other should have type int, float, tensor in aten::mul(input, other)"

哦哦！我理解错了，确实，这样修改更优雅了！

@Bun-TianYi #330应该能修复这个问题

repo: alibaba/TinyNeuralNetwork


text:
有些android机器发出的https包拦截不到

Win10上启动的anyproxy 3.10.4版本。证书已经正确安装，我是拦截微信内部webview打开的https链接。
2台手机，一台小米adr 6.0，一台nexus5 adr6.0使用同样的微信版本。n5这台机器就一切正常，都能显示出来结果，不管是web管理界面还是控制台。小米这台就怎么也拦截不到那条https的内容。界面和控制台都不行，但是这个https执行后跳转的网页(https访问会301）都能正常拦截，求解惑

确认是小米手机的问题，和程序无关

repo: alibaba/anyproxy


text:
是否支持cte语法啊

Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'WITH RECURSIVE ancestors AS (
',expect WITH, actual WITH WITH

org.springframework.jdbc.UncategorizedSQLException:
Error querying database.  Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'WITH RECURSIVE ancestors AS (
',expect WITH, actual WITH WITH : WITH RECURSIVE ancestors AS (
SELECT *
FROM org
WHERE 1=1
AND deleted = 1
UNION
SELECT f.*
FROM org AS f, ancestors AS a
WHERE
f.id = a.parent_id
)
SELECT * FROM ancestors;

The error may exist in file [D:\workspace\backend\security\moses\security-admin-provider\target\classes\mapper\OrgMapper.xml]
The error may involve cn.vpclub.moses.security.admin.provider.storage.mapper.OrgMapper.selectAllChildren
The error occurred while executing a query
SQL: WITH RECURSIVE ancestors AS (     SELECT *     FROM org     WHERE 1=1     AND deleted = 1                                                           UNION     SELECT f.*     FROM org AS f, ancestors AS a     WHERE     f.id = a.parent_id     )     SELECT * FROM ancestors;
Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'WITH RECURSIVE ancestors AS (
',expect WITH, actual WITH WITH : WITH RECURSIVE ancestors AS (
SELECT *
FROM org
WHERE 1=1
AND deleted = 1
UNION
SELECT f.*
FROM org AS f, ancestors AS a
WHERE
f.id = a.parent_id
)
SELECT * FROM ancestors;

; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; sql injection violation, syntax error: syntax error, error in :'WITH RECURSIVE ancestors AS (
',expect WITH, actual WITH WITH : WITH RECURSIVE ancestors AS (
SELECT *
FROM org
WHERE 1=1
AND deleted = 1
UNION
SELECT f.*
FROM org AS f, ancestors AS a
WHERE
f.id = a.parent_id
)
SELECT * FROM ancestors;; nested exception is java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'WITH RECURSIVE ancestors AS (

',expect WITH, actual WITH WITH : WITH RECURSIVE ancestors AS (
SELECT *
FROM org
WHERE 1=1
AND deleted = 1
UNION
SELECT f.*
FROM org AS f, ancestors AS a
WHERE
f.id = a.parent_id
)
SELECT * FROM ancestors;
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)
at com.sun.proxy.$Proxy82.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:231)
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:128)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:68)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
at com.sun.proxy.$Proxy88.selectAllChildren(Unknown Source)
at cn.vpclub.moses.security.admin.provider.service.OrgService.page(OrgService.java:397)
at cn.vpclub.moses.security.admin.provider.service.OrgService$$FastClassBySpringCGLIB$$7854e304.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
at cn.vpclub.moses.security.admin.provider.service.OrgService$$EnhancerBySpringCGLIB$$5fffcca2.page(<generated>)
at cn.vpclub.moses.security.admin.provider.rpc.OrgRpc.list(OrgRpc.java:101)
at cn.vpclub.moses.security.admin.api.OrgServiceGrpc$MethodHandlers.invoke(OrgServiceGrpc.java:579)
at io.grpc.stub.ServerCalls$1$1.onHalfClose(ServerCalls.java:148)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:267)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$2.runInContext(ServerImpl.java:573)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52)
at io.grpc.internal.SerializeReentrantCallsDirectExecutor.execute(SerializeReentrantCallsDirectExecutor.java:64)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener.halfClosed(ServerImpl.java:569)
at io.grpc.inprocess.InProcessTransport$InProcessStream$InProcessClientStream.halfClose(InProcessTransport.java:551)
at io.grpc.internal.ClientCallImpl.halfClose(ClientCallImpl.java:382)
at io.grpc.ForwardingClientCall.halfClose(ForwardingClientCall.java:62)
at io.grpc.stub.ClientCalls.asyncUnaryRequestCall(ClientCalls.java:255)
at io.grpc.stub.ClientCalls.futureUnaryCall(ClientCalls.java:186)
at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:132)
at cn.vpclub.moses.security.admin.api.OrgServiceGrpc$OrgServiceBlockingStub.list(OrgServiceGrpc.java:411)
at cn.vpclub.moses.security.admin.provider.app.OrgIntegrationTests.testListOrg(OrgIntegrationTests.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:205)
at org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:175)
at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:217)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:641)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:756)
at org.testng.TestRunner.run(TestRunner.java:610)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)
at org.testng.TestNG.runSuites(TestNG.java:1133)
at org.testng.TestNG.run(TestNG.java:1104)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'WITH RECURSIVE ancestors AS (
',expect WITH, actual WITH WITH : WITH RECURSIVE ancestors AS (
SELECT *
FROM org
WHERE 1=1
AND deleted = 1
UNION
SELECT f.*
FROM org AS f, ancestors AS a
WHERE
f.id = a.parent_id
)
SELECT * FROM ancestors;
at com.alibaba.druid.wall.WallFilter.check(WallFilter.java:724)
at com.alibaba.druid.wall.WallFilter.connection_prepareStatement(WallFilter.java:252)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:448)
at com.alibaba.druid.filter.FilterAdapter.connection_prepareStatement(FilterAdapter.java:928)
at com.alibaba.druid.filter.FilterEventAdapter.connection_prepareStatement(FilterEventAdapter.java:122)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:448)
at com.alibaba.druid.filter.FilterAdapter.connection_prepareStatement(FilterAdapter.java:928)
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:448)
at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.prepareStatement(ConnectionProxyImpl.java:342)
at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:331)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55)
at com.sun.proxy.$Proxy113.prepareStatement(Unknown Source)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:87)
at org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:85)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)
at com.github.pagehelper.SqlUtil._processPage(SqlUtil.java:401)
at com.github.pagehelper.SqlUtil.processPage(SqlUtil.java:374)
at com.github.pagehelper.PageHelper.intercept(PageHelper.java:255)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)
at com.sun.proxy.$Proxy112.query(Unknown Source)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:434)
... 65 common frames omitted

Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'WITH RECURSIVE ancestors AS (
',expect WITH, actual WITH WITH
at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:239)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:431)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:148)
at com.alibaba.druid.wall.WallProvider.checkInternal(WallProvider.java:620)
at com.alibaba.druid.wall.WallProvider.check(WallProvider.java:574)
at com.alibaba.druid.wall.WallFilter.check(WallFilter.java:711)
... 106 common frames omitted

什么数据库哈？

marriadb 10.2.2,druid1.1.2版本，最新的我已经尝试过了，上面截图就是新版本结果

@wenshao marriadb 10.2.2,druid1.1.2版本，最新的我已经尝试过了，上面截图就是新版本结果

https://github.com/alibaba/druid/releases/tag/1.1.4
问题已经修复，请使用新版本

authors: RobinsChens wenshao

repo: alibaba/druid


text:
数据预处理部分

在textIterator里面，下面这段代码写的有问题吧，按照注释，应该是按照context和response长度和排序，这里怎么写成了“current_length = ins[1] + ins[2]”，应该是"current_length = len(ins[1]) + len(ins[2])"吧
            # sort by length of sum of target buffer and target_buffer
            length_list = []
            for ins in self.instance_buffer:
                current_length = ins[1] + ins[2]
                length_list.append(current_length)

            length_array = numpy.array(length_list)
            length_idx = length_array.argsort()

@chuanhuayang 谢谢，这是一个bug，已修正。

repo: alibaba/esim-response-selection


text:
希望通过泛型来写一个接口,希望方法能随着参数类型不同，返回值的类型也随之不同.貌似无法支持?

fastJSON & Jackson
遇到一个问题,希望通过泛型思想来写一个接口,希望方法能随着参数类型不同，返回值的类型也随之不同.
    public interface IHello{
        public <T> Response<T> say(String context, Class<T> class);
    }

用jackson可以这样写

    public class HelloImpl implements IHello {
        public <T> Response<T> say(String context, Class<T> class){

            Response<T> response = null;

            String returnStr = HttpUtil.getJsonStr(url,header,mapParams);

            ObjectMapper mapper = new ObjectMapper();
            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,
                    false);
            JavaType javaType = mapper.getTypeFactory().constructParametricType(
                    Response.class, tclass);

            response = mapper.readValue(jsonResponse, javaType);

            return response;
        }
    }

但是用fastjson貌似无法实现,看了文档也没找到相应的解决方法.求教?

这样不能满足需求?
public class T {

    public static final String STR = "{\"name\":\"the name of someone\"}";

    public static class Boy {
        public String name;

        @Override
        public String toString() {
            return "Boy:" + name;
        }
    }

    public static class Girl {
        public String name;

        @Override
        public String toString() {
            return "Girl:" + name;
        }
    }

    public static interface IHello {
        public <T> Response<T> say(String context, Class<T> clazz);
    }

    public static class Response<T> {
        public T obj;
    }

    public static class HelloImpl implements IHello {

        public <T> Response<T> say(String context, Class<T> clazz) {
            Response<T> response = new Response<T>();
            response.obj = JSONObject.parseObject(context, clazz);
            return response;
        }
    }

    public static void main(String[] args) throws Exception {
        IHello hello = new HelloImpl();
        Response<Boy> r1 = hello.say(STR, Boy.class);
        System.out.println(r1.obj);

        Response<Girl> r2 = hello.say(STR, Girl.class);
        System.out.println(r2.obj);
    }
}

TypeReference<XGResponse<UserDetails>> reference = new TypeReference<XGResponse<UserDetails>>() {
		};  类似这样就行啊

可能我没有描述的足够清楚,其中Response
class Response<T>{
 private int code;
 private List<T> docs;
 private String msg;

//getter .. setter...
}

参数content的内容是{'code':123,'msg':'success','docs':[{'name':'rainy'}]}
泛型对象是包在内部的,而不是content就是对象本身
至于TypeReference的用法也是不行的,因为new TypeReference<Response>必须指定T为UserDetails,但是我是由方法参数决定的,而不是一开始就明确了的类型.

我知道你是想用泛型，但是你最终使用的时候必须确认类型，
在 2015年2月12日 下午4:30，mr.杨 notifications@github.com写道：

可能我没有描述的足够清楚,其中Response
class Response{
private int code;
private List docs;
private String msg;
//getter .. setter...
}
参数content的内容是{'code':123,'msg':'success','docs':[{'name':'rainy'}]}
泛型对象是包在内部的,而不是content就是对象本身
至于TypeReference的用法也是不行的,因为new
TypeReference>必须指定T为UserDetails,但是我是由方法参数决定的,而不是一开始就明确了的类型.
—
Reply to this email directly or view it on GitHub
https://github.com/alibaba/fastjson/issues/297#issuecomment-74034523.

提供了FieldTypeResolver，希望能满足你的需求 https://github.com/alibaba/fastjson/wiki/FieldTypeResolver

@wenshao 您好，关于这个问题，我也碰到了，您提供的ParameterizedTypeImpl实现方案经测试也只能用于解析一级泛型，对于多级泛型还是失败的，比如说：Response<T<A>> 这种，当然我这里也只能拿到T和A的class

@wenshao 您好，关于这个问题，我也碰到了，您提供的ParameterizedTypeImpl实现方案经测试也只能用于解析一级泛型，对于多级泛型还是失败的，比如说：Response<T<A>> 这种，当然我这里也只能拿到T和A的class

可以多层ParameterizedTypeImpl来实现
new ParameterizedTypeImpl(new Type[] { new ParameterizedTypeImpl(new Type[]{B.class},null,A.class) }, null, Response.class);

authors: Dourm aoqianglin mustfun palexu wenshao yinheli

repo: alibaba/fastjson


text:
Support pars Constructor & Setters

反序列化时, 如果没有加 @JsonCreator 注解, 只会反序列化构造方法字段, 其他字段为空
解决方案：
在非 isInterfaceOrAbstract 的时候，最后面校验只校验javax.servlet.http.Cookie类，其他的都继续走 setter，不直接返回JavaBeanInfo

#3221


text:
[FEATURE] 希望添加个新的函数： toJSONString(Object object, SerializeConfig config, int defaultFeatures, SerializerFeature... features)

目前有：
toJSONString(Object object, int defaultFeatures, SerializerFeature... features)

希望再加个：
toJSONString(Object object, SerializeConfig config, int defaultFeatures, SerializerFeature... features)

搞错了。这是 1.x 版本的


text:
Supplemental issues template

Add a github repository link to the SCA issues template. Easy project maintenance. Accurately reproduce problem scenarios.

It sounds good, I will do it.

authors: steverao yuluo-yx

repo: alibaba/spring-cloud-alibaba


text:
Update README-zh.md

Remove duplicate '。'
Describe what this PR does / why we need it
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

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

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

LGTM

LGTM

authors: CLAassistant ranpro theonefx


text:
开个钉钉群吧。提issue沟通，太低效了

开个钉钉群吧。提issue沟通，太低效了

先直接加我钉钉吧，暂时不拉群，消息太多处理不过来~

图片看不到~~

图片看不到~~

先直接加我钉钉吧，暂时不拉群，消息太多处理不过来~

图片打不开

Github自动把图片地址转到了githubusercontent.com了，如果看不到可以直接用这个链接
https://testable-code.oss-cn-beijing.aliyuncs.com/linfan-ding-code.png

Github自动把图片地址转到了githubusercontent.com了，如果看不到可以直接用这个链接
https://testable-code.oss-cn-beijing.aliyuncs.com/linfan-ding-code.png

repo: alibaba/testable-mock


text:
ps-plus分布式模式下运行出错

2019-01-21 17:47:57 INFO XLearningContainer: Backtrace:
2019-01-21 17:47:57 INFO XLearningContainer:   0x0000000000846d5c
2019-01-21 17:47:57 INFO XLearningContainer:   0x0000000000847088
2019-01-21 17:47:57 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libpthread.so.0+0x000000000001138f
2019-01-21 17:47:57 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libc.so.6+0x00000000001014d6
2019-01-21 17:47:57 INFO XLearningContainer:   /usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x00000000000b6a15
2019-01-21 17:47:57 INFO XLearningContainer:   0x000000000065a76f
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006e8e03
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006bbded
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006e9517
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006e98fc
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006c311b
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006ad190
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006b61bd
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000006b64be
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000007d9f17
2019-01-21 17:47:57 INFO XLearningContainer:   0x000000000082417b
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000008256b5
2019-01-21 17:47:57 INFO XLearningContainer:   0x0000000000826365
2019-01-21 17:47:57 INFO XLearningContainer:   0x000000000082d416
2019-01-21 17:47:57 INFO XLearningContainer:   0x000000000083e2d7
2019-01-21 17:47:57 INFO XLearningContainer:   0x000000000083e5d0
2019-01-21 17:47:57 INFO XLearningContainer:   0x000000000089789a
2019-01-21 17:47:57 INFO XLearningContainer:   0x000000000089d327
2019-01-21 17:47:57 INFO XLearningContainer:   0x00000000008ec40d
2019-01-21 17:47:57 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libpthread.so.0+0x00000000000076b9
2019-01-21 17:47:57 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libc.so.6+0x000000000010741c
2019-01-21 17:48:10 INFO XLearningContainer: Reactor stalled for 2002 ms on shard 2.
2019-01-21 17:48:10 INFO Utilities: Reactor stalled for 4002 ms on shard 2.
2019-01-21 17:48:10 INFO XLearningContainer: Backtrace:
2019-01-21 17:48:10 INFO Utilities: Backtrace:
2019-01-21 17:48:10 INFO XLearningContainer:   0x0000000000846d5c
2019-01-21 17:48:10 INFO Utilities:   0x0000000000846d5c
2019-01-21 17:48:10 INFO XLearningContainer:   0x0000000000847088
2019-01-21 17:48:10 INFO Utilities:   0x0000000000847088
2019-01-21 17:48:10 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libpthread.so.0+0x000000000001138f
2019-01-21 17:48:10 INFO Utilities:   /lib/x86_64-linux-gnu/libpthread.so.0+0x000000000001138f
2019-01-21 17:48:10 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libc.so.6+0x00000000001014d6
2019-01-21 17:48:10 INFO Utilities:   0x00000000006572dd
2019-01-21 17:48:10 INFO XLearningContainer:   /usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x00000000000b6a15
2019-01-21 17:48:10 INFO Utilities:   0x000000000065505d
2019-01-21 17:48:10 INFO XLearningContainer:   0x000000000065a76f
2019-01-21 17:48:10 INFO Utilities:   0x00000000006e8e37
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006e8e03
2019-01-21 17:48:10 INFO Utilities:   0x00000000006bbded
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006bbded
2019-01-21 17:48:10 INFO Utilities:   0x00000000006e9517
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006e9517
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006e98fc
2019-01-21 17:48:10 INFO Utilities:   0x00000000006e98fc
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006c311b
2019-01-21 17:48:10 INFO Utilities:   0x00000000006c311b
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006ad190
2019-01-21 17:48:10 INFO Utilities:   0x00000000006ad190
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006b61bd
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000006b64be
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000007d9f17
2019-01-21 17:48:10 INFO XLearningContainer:   0x000000000082417b
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000008256b5
2019-01-21 17:48:10 INFO XLearningContainer:   0x0000000000826365
2019-01-21 17:48:10 INFO XLearningContainer:   0x0000000000826f55
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000008272aa
2019-01-21 17:48:10 INFO XLearningContainer:   0x0000000000828438
2019-01-21 17:48:10 INFO Utilities:   0x00000000006b61bd
2019-01-21 17:48:10 INFO XLearningContainer:   0x000000000083e2d7
2019-01-21 17:48:10 INFO Utilities:   0x00000000006b64be
2019-01-21 17:48:10 INFO XLearningContainer:   0x000000000083e5d0
2019-01-21 17:48:10 INFO Utilities:   0x00000000007d9f17
2019-01-21 17:48:10 INFO XLearningContainer:   0x000000000089789a
2019-01-21 17:48:10 INFO Utilities:   0x000000000082417b
2019-01-21 17:48:10 INFO XLearningContainer:   0x000000000089d327
2019-01-21 17:48:10 INFO Utilities:   0x00000000008256b5
2019-01-21 17:48:10 INFO XLearningContainer:   0x00000000008ec40d
2019-01-21 17:48:10 INFO Utilities:   0x0000000000826365
2019-01-21 17:48:10 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libpthread.so.0+0x00000000000076b9
2019-01-21 17:48:10 INFO XLearningContainer:   /lib/x86_64-linux-gnu/libc.so.6+0x000000000010741c
2019-01-21 17:48:10 INFO Utilities:   0x000000000082d416
2019-01-21 17:48:10 INFO Utilities:   0x000000000083e2d7
2019-01-21 17:48:10 INFO Utilities:   0x000000000083e5d0
2019-01-21 17:48:10 INFO Utilities:   0x000000000089789a
2019-01-21 17:48:10 INFO Utilities:   0x000000000089d327
2019-01-21 17:48:10 INFO Utilities:   0x00000000008ec40d
2019-01-21 17:48:10 INFO Utilities:   /lib/x86_64-linux-gnu/libpthread.so.0+0x00000000000076b9
2019-01-21 17:48:10 INFO Utilities:   /lib/x86_64-linux-gnu/libc.so.6+0x000000000010741c
2019-01-21 17:48:17 INFO XLearningContainer: Killed
2019-01-21 17:48:17 INFO Utilities: Traceback (most recent call last):
2019-01-21 17:48:17 INFO XLearningContainer:     import xdl
2019-01-21 17:48:17 INFO Utilities:   File "deepctr.py", line 17, in
2019-01-21 17:48:17 INFO XLearningContainer:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/init.py", line 16, in
2019-01-21 17:48:17 INFO Utilities:     from xdl.python.init import *
2019-01-21 17:48:17 INFO XLearningContainer:     self._start()
2019-01-21 17:48:17 INFO Utilities:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/init.py", line 16, in
2019-01-21 17:48:17 INFO XLearningContainer:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/training/env.py", line 54, in _start
2019-01-21 17:48:17 INFO Utilities:     from xdl.python.init import *
2019-01-21 17:48:17 INFO XLearningContainer:     self._ps_do()
2019-01-21 17:48:17 INFO Utilities:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/init.py", line 42, in
2019-01-21 17:48:17 INFO XLearningContainer:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/training/env.py", line 157, in _ps_do
2019-01-21 17:48:17 INFO Utilities:     from xdl.python.training.train_session import TrainSession, LoggerHook, SyncRunHook, SemiSyncRunHook, BarrierHook
2019-01-21 17:48:17 INFO XLearningContainer:     bind_cores = self._bind_core)
2019-01-21 17:48:17 INFO Utilities:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/training/train_session.py", line 21, in
2019-01-21 17:48:17 INFO XLearningContainer:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/utils/ps_utils.py", line 78, in run_ps_server
2019-01-21 17:48:17 INFO Utilities:     from xdl.python.training.env import current_env, is_local_mode
2019-01-21 17:48:17 INFO XLearningContainer:     bc=bind_cores)
2019-01-21 17:48:17 INFO Utilities:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/training/env.py", line 228, in
2019-01-21 17:48:17 INFO XLearningContainer:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/utils/ps_utils.py", line 67, in run_ps_cmd
2019-01-21 17:48:17 INFO Utilities:     _ENV = init_env()
2019-01-21 17:48:17 INFO XLearningContainer:     raise ValueError("Run cmd Error, cmd=[%s] exit_code=[%s]" % (cmd, ret))
2019-01-21 17:48:17 INFO Utilities:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/training/env.py", line 226, in init_env
2019-01-21 17:48:17 INFO Utilities:     return DistributedEnv()
2019-01-21 17:48:17 INFO Utilities:   File "/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/training/env.py", line 148, in init
2019-01-21 17:48:17 INFO XLearningContainer: ValueError: Run cmd Error, cmd=[/usr/local/lib/python2.7/dist-packages/xdl-1.0-py2.7.egg/xdl/python/utils/../../bin/ps -bc "False" -sp "zfs://bjpg-rs320.yz02:2181" -si "0" -r "server"] exit_code=[35072]
2019-01-21 17:48:18 INFO Utilities: cpuset: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55
2019-01-21 17:48:18 INFO Utilities: seastar binding cores: false

@simon1024 这个问题找到原因了吗？

调大资源量，没有这个问题了

Reactor stalled for 2002 ms on shard 24.
这个错误 知道是说明原因引起的吗？

Reactor stalled for 2002 ms on shard 24.
这个错误是因为 资源不足吗？

authors: bcfntu sandflee

repo: alibaba/x-deeplearning


text:
Adding Basic Jest Tests

Adding primitive jest tests
Adding dependencies

Thank you so much for the PR!!

authors: alicoding atomicpages

repo: alicoding/react-webpack-babel


text:
[bug]: npm installation failed

As the title described.
Env: MacOs 13.3 (22E252) M1

Thanks for your feedback, I will fix this as soon as possible

@IanDxSSXX It has been fixed at latest version - v0.0.6

authors: IanDxSSXX theajack

repo: alinsjs/alins


text:
add grafanadi and lunettes-chart delay start

Before modification, grafanadi and lunettes-chart may restart due to slow readiness of the es cluster.

After that, there will no longer be a restart, but wait for the es cluster to be ready before starting the service.

Watch the output from the log，you can see the process of the components attempting to detect the status of the es cluster

.

done

repo: alipay/container-observability-service


text:
It looks like a Clickup site change has broken the scraping in the plugin.

Hi,
It looks like a Clickup site change has broken the scraping in the plugin.
To fix:
function getSingleTaskDetails() {

const title = document.querySelector(".task-name__overlay").textContent;

const title = document.querySelector(".cu-task-title__overlay").textContent;
const [id] = location.pathname.split('/').reverse();
const link = location.href;

It works fine after that.
Cheers,
Casey

It works fine for my version of ClickUp 🤔
I think i'm just going to combine those selectors to support both worlds.

Are you on version 3.0 of the site? It may be a new layout.

authors: alldayalone bartoncasey

repo: alldayalone/clickup-copy-link


text:
ES could not start in gradle project within docker images.

Hi,
i have a gradle project. It is running locally perfectly but i have a problem to start it in a docker container. I have tried to run it in aws code pipeline that uses aws/codebuild/java:openjdk-8 image
and in a standard java container.
Maybe someone has a solution?!?
I experimented with different options, but still did not achieve any results:

set gradle JAVA_OPTS and  .withEsJavaOpts()
used openjdk and oracle java version
used different version of gradle
set docker memory image on 10 GiB

Test configuration:
println("Started ES cluster:")
embeddedElastic = EmbeddedElastic.builder()
                .withElasticVersion("6.2.0")
                .withSetting(PopularProperties.TRANSPORT_TCP_PORT, 9350)
                .withSetting(PopularProperties.CLUSTER_NAME, "xxx")
                .withEsJavaOpts("-Xms128m -Xmx512m")   // tried even with -Xms512m -Xmx4096m
                .withIndex(ElasticSearchConfig.XXX_INDEX,
                        IndexSettings.builder().build())
                .withCleanInstallationDirectoryOnStop(true)
                .withStartTimeout(5, TimeUnit.MINUTES)
                .build()
                .start()
        println("httpPort: ${embeddedElastic.httpPort}")
        println("transportTcpPort: ${embeddedElastic.transportTcpPort}")

It seems gradle have a problem with that:
12:05:19.323 [QUIET] [system.out] Started ES cluster:
12:05:21.840 [null] [org.gradle.process.internal.health.memory.MemoryManager]
12:05:21.840 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting OS memory status event {Total: 10461925376, Free: 7021711360}
12:05:21.840 [DEBUG] [org.gradle.launcher.daemon.server.health.LowMemoryDaemonExpirationStrategy] Received memory status update: {Total: 10461925376, Free: 7021711360}
12:05:21.840 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting JVM memory status event {Maximum: 954728448, Committed: 479199232}
12:05:24.440 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
12:05:24.440 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
12:05:24.441 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
12:05:24.441 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
12:05:24.441 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
12:05:24.442 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
12:05:24.442 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
12:05:26.840 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting OS memory status event {Total: 10461925376, Free: 7021785088}
12:05:26.840 [DEBUG] [org.gradle.launcher.daemon.server.health.LowMemoryDaemonExpirationStrategy] Received memory status update: {Total: 10461925376, Free: 7021785088}
12:05:26.840 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting JVM memory status event {Maximum: 954728448, Committed: 479199232}
12:05:31.840 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting OS memory status event {Total: 10461925376, Free: 7022514176}
12:05:31.840 [DEBUG] [org.gradle.launcher.daemon.server.health.LowMemoryDaemonExpirationStrategy] Received memory status update: {Total: 10461925376, Free: 7022514176}
12:05:31.840 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting JVM memory status event {Maximum: 954728448, Committed: 479199232}
12:05:34.440 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
12:05:34.440 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
12:05:34.440 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
12:05:34.441 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
12:05:34.441 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
12:05:34.441 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
12:05:34.441 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.

---
12:10:19.589 [QUIET] [system.out]     => pl.allegro.tech.embeddedelasticsearch.EmbeddedElasticsearchStartupException: Failed to start elasticsearch within time-out

Gradle daemon:
Received result Failure[value=org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':junitPlatformTest'.] from daemon DaemonInfo{pid=48, address=[eab5fb74-7f28-464b-ac6f-b4d1ef29be8e port:42611, addresses:[/127.0.0.1]], state=Busy, lastBusy=1525435354429, context=DefaultDaemonContext[uid=32ac1bcb-cd66-49ab-bee5-9c0f3bbb4741,javaHome=/usr/lib/jvm/java-8-openjdk-amd64,daemonRegistryDir=/root/.gradle/daemon,pid=48,idleTimeout=10800000,daemonOpts=-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country,-Duser.language=en,-Duser.variant]} (build should be done).

Found the problem:
Caused by: java.lang.RuntimeException: can not run elasticsearch as root

The problem was solved. I had to create a new user in a docker image and change rights on files.  Maybe someone this codebuild snippet will be helpful:
version: 0.2

phases:
    install:
       commands:
        - 'chmod 770 gradlew'
        - '/usr/sbin/adduser --disabled-password --gecos "" xxx'
        - 'chown -R xxx:xxx /codebuild/output/*'
    build:
      commands:
        - 'su -c "./gradlew -version" xxx'
        - 'su -c "./gradlew shadowJar xxx'
    post_build:
      commands:
artifacts:
  files:
    - '**/*'

repo: allegro/embedded-elasticsearch


text:
Can't compile file with own enum type

When I try to compile this enum type and message
enum EJobStatus {
    WAITING = 0;
    RUNNING = 1;
    FINISHED = 2;
};

message MJobs {
    optional string name = 1;
    optional EJobStatus status = 2;
}

I get this error:
php php-protobuf/protoc-php.php MJobs.proto
*Proto file missformed*

this error happens due to your wrong char ';' at the end of enum.
`enum EJobStatus {
WAITING = 0;
RUNNING = 1;
FINISHED = 2;
}
message MJobs {
optional string name = 1;
optional EJobStatus status = 2;
}`
should fix.

The compiler still should be able to parse it. Fixed in #74.

authors: davel2k hjagodzinski rotencode

repo: allegro/php-protobuf


text:
Getting the current task in PyTorch DistributedDataParallel

Hi,
I have a question about Task.current_task() method.
I am working with PyTorch and training using DistributedDataParallel, which uses multi-process and not single-process multi-thread.
The task is been initiated on the main process at the beginning, before the mp.spawn, and the processes get it by using Task.get_task(task_id). However, internally the current task does not seems to be available. How can I still get the current task in this type of setup?
Thanks!

Hi @bomri
Yes, torch distributed is fully supported (as well as other sub-process parallelization solutions)
Here is how it works, the main process (the one starting this entire flow) runs :
task = Task.init('examples', 'torch distributed')
Then any sub-process can either run:
task = Task.current_task() or even call again the Task.init(...).
The idea is that the main process passes the information to the sub-processes, that it had already initialized the Task, and what the Task.id is. This means any sub-process will just use this Task.id instead of creating a new one. As you notice the first Task.init should eb called before the mp.spawn so that all the information is passed to the sub-processes.
Make sense?
BTW:
Which OS are you using? There are a few issues with torch distributed on Windows (basically no fork...), but they are mostly torch related and not Trains related

I'm initializing the task before the spawn, but task = Task.current_task() always returns None. Running Task.init() for each process does return the same task correctly and from that point the current_task() works for internal functions.
But I get lot's of warnings like:
Task connect, second input model is not supported, adding into comment section
trains.Task - INFO - Task connect, second input model is not supported, adding into comment section
Could retrieve model location, skipping auto model logging
If I save the task_id in the main process and pass it to each process I am able to use get_task with that id and get the task properly
I am running on ubuntu 18.04

I'm initializing the task before the spawn, but task = Task.current_task() always returns None.

If the sub-process is forked (the default behavior on posix OS), all the local variables are copied to the sub-process, that includes the current_task.
However Torch distributed is creating the subprocesses with Popen, which means the current_task variable is not passed. In order for the sub-process to get it, it should basically run the same code as the main process, i.e. Task.init it will automatically get the correct task ID, as you noticed.

Task connect, second input model is not supported, adding into comment section

The warning you are getting is for loading the same model weights file multiple times (I assume from the multiple instances). Basically it says that logging the input weights is currently limited to a single weights file per experiment, and the second loaded weights file will be logged in the comment section of the experiment. I think we should check that if you are loading the same object multiple time it will know not to output the message, as it already logged the model weights and its the same one :)

If I save the task_id in the main process and pass it to each process I am able to use get_task with that id and get the task properly

Task.get_task will work regardless of anything else, and from any machine. But Task.get_task will not auto-magically collect the console outputs, TensorBoard  matplotlib etc.

upgrading to allegroai-3.2.0rc0 & trains-0.14.3, and using the exact same task init variables as in the main process seems to solve this issue.
Thanks @bmartinn for helping!

Awesome :)
Closing this issue, if the problem resurfaces, feel free to re-open.

authors: bmartinn bomri

repo: allegroai/trains


text:
What is the expected functionality of Abbreviations ?

This may not be a bug, more of a clarification to understand expected functionality of AbbreviationDetector.
When I pass in a text CTA chest, it returns an empty array []. Whereas I expected it to return 'computed tomography angiography' as long_form. Am I missing something silly or is it expected behavior ?
Thanks !!

Ah! The Abbreviation detector detects abbreviations defined in text, but does not try to disambiguate arbitrary abbreviations. So in a document, you had blah blah... computed tomography angiography (CTA) was used ... After, CTA was done., the abbreviation detector would find the definition and connect it to its uses in the document. Hopefully that's clearer?

Understood the current implementation and expected behavior.
However, just curious, is there a plan to implement "arbitrary abbreviation detector" on a given statement ?

No, sorry. That's very domain specific, and wouldn't be useful generally. It should be easy to implement (just a dictionary lookup) for any given abbreviations you have though!

authors: DeNeutoy sahas-

repo: allenai/scispacy


text:
use conda in Docker image, multi-state build

Adapted from PyTorch's Dockerfile: https://github.com/pytorch/pytorch/blob/master/Dockerfile.

Ugh, these Docker builds are sooo slow

repo: allenai/tango


text:
Expire clip thumbnails when cache is filled

Ensure that transcoded thumbnail clips are also expired from the cache like all other media. Fixes a bug where they could be left orphaned.

Codecov Report

Merging #170 (df3443f) into main (dc68c93) will increase coverage by 0.11%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #170      +/-   ##
==========================================
+ Coverage   92.03%   92.14%   +0.11%
==========================================
  Files          17       17
  Lines        1870     1872       +2
==========================================
+ Hits         1721     1725       +4
+ Misses        149      147       -2

Impacted Files
Coverage Δ

google_nest_sdm/event_media.py
95.28% <100.00%> (+0.44%)
:arrow_up:

google_nest_sdm/google_nest_subscriber.py
62.33% <0.00%> (-0.17%)
:arrow_down:

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 dc68c93...df3443f. Read the comment docs.

authors: allenporter codecov-commenter

repo: allenporter/python-google-nest-sdm


text:
🛑 Matterhorn Bar & Restaurant is down

In 7b11092, Matterhorn Bar & Restaurant (https://matterhornbar.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Matterhorn Bar & Restaurant is back up in ecc5af2 after 5 minutes.

repo: alliancewebteam/Uptime


text:
🛑 Alliance Computers is down

In 6c7a09e, Alliance Computers (https://alliancecomp.com) was down:

HTTP code: 403
Response time: 164 ms

Resolved: Alliance Computers is back up in 9f47dbd after 59 minutes.


text:
Docker real time html doesn't work after docker hub image update

Command
docker run allinurl/goaccess --real-time-html
Output
==1== GoAccess 1.4 crashed by Sig 11
==1==
==1== VALUES AT CRASH POINT
==1==
==1== Line number: 0
==1== Offset: 0
==1== Invalid data: 0
==1== Piping: 0
==1==
==1==
==1== Please report it by opening an issue on GitHub:
==1== https://github.com/allinurl/goaccess/issues

It's a simpliest example, also not working with full config. It works for a while but stop after docker image update. Seems good without real-time-html option

I have been having the same problem for a while now. My environment is rootless podman but I have also tried rootfull without any change.
For debugging I switched the image from scratch to a standard base image and attached gdb to goaccess to get the following output:
(gdb) run
Starting program: /bin/goaccess --config-file /goaccess/goaccess.conf
warning: Error disabling address space randomization: Operation not permitted

Program received signal SIGSEGV, Segmentation fault.
enframe (g=0xfeb720, idx=3, n=5, ctr=<optimized out>) at src/malloc/mallocng/meta.h:205
205     src/malloc/mallocng/meta.h: No such file or directory.
(gdb) backtrace
#0  enframe (g=0xfeb720, idx=3, n=5, ctr=<optimized out>) at src/malloc/mallocng/meta.h:205
#1  0x0000000000439279 in xmalloc ()
#2  0x000000000043938b in xstrdup ()
#3  0x0000000000416c53 in main ()

The config file only contains the bare minimum:
log-format COMBINED
log-file /goaccess/access.log
output /goaccess/index.html
real-time-html true

where the log is a one line example nginx log entry. I have verified that removing real-time-html true fixes the problem and correctly generates an output file.
Please let me know if any further information is needed to debug this!

Can confirm too that real-time-html true is broken on the latest  Docker image, thanks in advance !

@err931 Any ideas what could be the issue? Thanks

Please give it a shot again as a change was made upstream. Let me know how it goes. Thanks.

Nothing changed for me

Alright, issue should be fixed. Please let me know if this time works on your end. Thanks again!

Can confirm that it is working, thanks so much!

Yep, now it is working! Thx!

authors: AlexKomrakov a1ex4 allinurl hhergeth

repo: allinurl/goaccess


text:
real time HTML output and server performance

Gday,
Wanted to bring discussion on what are the key considerations when real time enabled?
Would it consume CPU, Memory? What about the I/O? Did someone have an article or some link about GoAccess performance in its real time?
My customer brought this question to me and I stayed: hmmm great question, never thought about that.
Regardless his question, I don't see a problem in real time parsing. that may be a tail -f or something like that and processing in CPU and lower memory. what are your thoughts?

I'm also really interested, will subscribe.


text:
add example for comparing subscriptions from different providers

draft for https://github.com/alloy-rs/examples/issues/146
added new_heads to compare, simply run cargo run --example new_heads -- -r reth:ws://localhost:8546 -r alchemy:xxx -r other_provider:other_url -r ... to start

tysm, this looks pretty good, only have some nits

will edit tmw and add pending_txs too, im not sure what gakonst meant when he mentioned to test eth_getBlock against other providers too, what exactly is there to compare?

cargo run --example new_heads -- -r reth:ws://localhost:8546 -r alchemy:wss://eth-mainnet.g.alchemy.com/v2/<api_key>

cargo run --example pending_txs -- -r reth:ws://localhost:8546 -r alchemy:wss://eth-mainnet.g.alchemy.com/v2/<api_key>

unfortunately i dont have a local geth node running along to test that too, feel free to edit the code

@0xlosh here's a reth node  ws://69.67.151.138:8546
please reply once you saved this, so I can delete this
feel free to keep using this :)

@mattsse thanks got it, but im running my own reth node actually

repo: alloy-rs/examples


text:
chore(registry): Dogfood Test Rollup Config

Description
Dogfoods the hardcoded test rollup config and uses the new From<&RollupConfig> for HardForkConfiguration.

📚 $\text{Stack Overview}$
Pulls submitted in this stack:

#308 👈
main

This comment was automatically generated by st.

repo: alloy-rs/op-alloy


text:
Prepare database for new link combinations

This is a non-invasive change to introduce a new table to store the new link type combinations. Everything else related to links will come later in subsequent PRs.

Codecov Report

Merging #1436 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1436      +/-   ##
==========================================
+ Coverage   60.32%   60.33%   +<.01%
==========================================
  Files         119      119
  Lines       11134    11135       +1
==========================================
+ Hits         6717     6718       +1
  Misses       3762     3762
  Partials      655      655

Impacted Files
Coverage Δ

migration/migration.go
54.96% <100%> (+0.09%)
:arrow_up:

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 516148e...2147076. Read the comment docs.

authors: codecov-io kwk

repo: almighty/almighty-core


text:
SmoothRectangleBorder now completing with other Decorations

SmoothRectangleBorder now completing with other Decorations without an OutlinedBorder.

#2

You should not merge this. Its just an idea, but does not work


text:
Move installation stuff away when done

Following up on #10 , I suggest an improvement:

Create a logs folder and write the installation.log file there
Add one entry to the README file could be something like:

Once the installation is done and successful, you can erase the following files:

- install.sh
- ...

#23 should be enough to close this.

repo: alombarte/raspberry-osmc-automated


text:
Issue #330: Removed extra operator

Fixes #330
Description
Removed extra operator
Testing
Execute steps from issue description
Risk
No major changes
Do you agree with those?

[x] I agree to follow the Contributing guidelines
[x] I agree to follow the terms of the Code of Conduct

Aproved

authors: PilgrimViis sbelashevskiy

repo: alor-broker/Astras-Trading-UI


text:
golang源码的改动

请问，如果想改动golang源码，clone go的源码后，如何建立一个GoLand工程来修改golang源码呢？
我本地建立工程后，总是有import的错误。
go下载的版本是1.16.x
谢谢！

下载后可以直接运行，也可以将代码放入自己工程的包内

authors: alovn bglmmz

repo: alovn/go-bloomfilter


text:
Use order.data._name instead of order.data._dataname in store.order_create

I'm trying to submit a paper order with the following okwargs
{'symbol':               TMF
2020-03-02  38.00
2020-03-03  40.78
2020-03-04  39.64
2020-03-05  42.51
2020-03-06  48.01
...           ...
2020-05-27  41.79
2020-05-28  40.73
2020-05-29  41.27
2020-06-01  41.45
2020-06-02  40.30

[65 rows x 1 columns], 'qty': 162, 'side': 'buy', 'type': 'market', 'time_in_force': 'gtc'}

The error message I get back from Alpaca is: {'code': 596, 'message': 'Network Error', 'description': 'Object of type DataFrame is not JSON serializable'}
Likely the issue is with this line where data._dataname is being used instead of data._name.
For context I am using backtrader.feeds.PandasData which has a meaningful difference between dataname and name like so:
backtrader.feeds.PandasData(
        dataname=market_data[['TMF']],
        name='TMF',
        **kwargs
    )

EDIT: I switched to order.data._name and confirm that the orders went through to Alpaca

I added a comment to your PR

does this seem to be working correctly now?

authors: ronnyli shlomikushchi

repo: alpacahq/alpaca-backtrader-api


text:
bt.TimeFrame.Minutes is not implemented does not return minutes data.

I have tried this both with polygon and standard. I get an empty response.
Maybe it is a design decisions as minutes could be a lot of data but a limit could be added.

CLosing this as there is way but it is very slow for past dates even if the time gap is gap is one dat


text:
Delete users

A part of: Trello
We are currently migrating features from our PaaS based
account-manager-prototype
to account-api.
Accounts API now acts as an additional store of user data. When a user
deletes their account through the account manager we require an
authenticated endpoint that will forward the request to account-api so
we can remove their data there too.

also woops forgot some docs.
Added in a new commit

🤔 odd CI just showed a test faiure:
https://ci.integration.publishing.service.gov.uk/job/account-api/job/delete-users/4/console
But then when I rebuilt it worked, looks like we've got a very occasionaly flakey test on that PUT endpoint...

repo: alphagov/account-api


text:
KBV-300: Request the auth token via the private_key_jwt method

Proposed changes
What changed
Refactored code to fetch the auth token via the private_key_jwt method
Why did it change
As per the RFC, it has been decided that the clients must authenticate to the authorization server's token endpoint using the private_key_jwt method
Issue tracking

KBV-300
RFC

Please have look at the bug and code smell on offered by SonarCloud

authors: idrop jkunle

repo: alphagov/di-ipv-cri-address-api


text:
Add endpoint to add a framework

The error message for invalid clarification questions flag is less than ideal. This is because if handled with a validtor method we would raise an error with a field name that does not match that given in the request and when handled with a DataError we can't easily be sure that the error is caused by invalid clarification questions flag.

:+1:

authors: allait robyoung

repo: alphagov/digitalmarketplace-api


text:
[#139472449]export_users_for_framework: lazyload a lot of relationships we don't need

This might fix story https://www.pivotaltracker.com/story/show/139472449
At some point we need to look at how much we overuse eager loading of relationships. It gets more than a bit silly.

Confirmed that outputs are identical to previously.
Also did some rudimentary profiling locally ands this seems to have made it a lot faster ⏩
Average times before and after, in some unspecified units of time:
G7  286908 -> 023105
G8  071800 -> 024538
G9  076668 -> 021988
DOS 274108 -> 022142
:boom:
Let's get this in and release it ASAP :clap:
:+1:

authors: TheDoubleK risicle


text:
[#114474769] Add client method for new check-buyer-email API route

Client method for the new API endpoint here: https://github.com/alphagov/digitalmarketplace-api/pull/363

:+1:

authors: TheDoubleK allait

repo: alphagov/digitalmarketplace-apiclient


text:
Change permissions of push-tag.sh to be executable

Jenkins was unable to run the script without it being executable.

👍

authors: Wynndow allait


text:
service essentials: added short names and combined a question

Service essential questions now have short versions, that appear on the service summary page and in the error messages.
Removed question that was specifically about publishing software as this was confusing for users that don't directly work on software (eg user researchers).
Combined the important bit of the removed question with the question open standards principles

:+1:

authors: allait ralph-hawkins

repo: alphagov/digitalmarketplace-frameworks


text:
Github Actions CI

Add basic github action

Neat!
This gets run on push, does that mean it runs against every branch? Does it get run as a PR check?
What's the timeliness of the build? Does GitHub put any limit on how many actions you run or how often?
A bit unsure about the support matrix though; does govuk-frontend support Node 12? If they don't then we shouldn't try to either.

Yes, it gets un against every branch. It does get run as a PR check (See this PR successful checks as an example and here is the job)

For the moment it seems pretty quick but we do not have a lot of tests at the moment 😄. As for limits, you can find that here

I don't think it hurts to test our code with Node 12. Node 12 is the new recommended LTS. Node 10 goes into maintenance mode from April next year. (See this calendar

Is this intended as a substitute for Travis? How does it compare (pros/cons)? I'd rather keep our tooling consistent across repos but if we gain functionality we can consider rolling this out elsewhere.
Testing against both Node 10 and 12 seems sensible - we had parallel Python 2/3 Travis checks on some of our repos before we dropped Py2 support.

I don't think it hurts to test our code with Node 12. Node 12 is the new recommended LTS. Node 10 goes into maintenance mode from April next year. (See this calendar

My concern is that GOV.UK Frontend isn't tested against Node 12, and specifically says that in it's package.json that it only support Node 10.15.1. Does that mean we might end up in a situation where our tests fail on Node 12 because of bugs in GOV.UK Frontend?

Is this intended as a substitute for Travis? How does it compare (pros/cons)? I'd rather keep our tooling consistent across repos but if we gain functionality we can consider rolling this out elsewhere.
Testing against both Node 10 and 12 seems sensible - we had parallel Python 2/3 Travis checks on some of our repos before we dropped Py2 support.

It can be a replacement for Travis and potentially other things like Jenkins too.
Pay are using it for some testing and deployment.
Examples
https://github.com/alphagov/pay-tech-docs/actions
https://github.com/alphagov/pay-tech-docs/blob/master/.github/workflows/main.yml
https://github.com/alphagov/pay-product-page/actions?workflow=new-release
https://github.com/alphagov/pay-product-page/blob/master/.github/workflows/release.yml
https://github.com/alphagov/pay-frontend/actions?workflow=product-pages
https://github.com/alphagov/pay-frontend/blob/master/.github/workflows/product-page.yml

I don't think it hurts to test our code with Node 12. Node 12 is the new recommended LTS. Node 10 goes into maintenance mode from April next year. (See this calendar

My concern is that GOV.UK Frontend isn't tested against Node 12, and specifically says that in it's package.json that it only support Node 10.15.1. Does that mean we might end up in a situation where our tests fail on Node 12 because of bugs in GOV.UK Frontend?

GOV.UK Frontend does not include their test suit in the package so we will not be able to run their test suite with ours.
Let's see how it goes with Node 12 testing. If it does become a problem we can always remove it from the matrix.

I assume you removed the scripts from Travis because it does it automatically out-of-the-box?

Yes, Travis uses npm ci and  npm test as default scripts

authors: aliuk2012 katstevens lfdebrux


text:
Fix duplicated banner on brexit checker results page.

There is an edge case on the Brexit checker results page, where if the user must NOT reauthenticate (i.e they're already logged in), and their results differ from the ones already stored in their account, the "These results are different from the ones stored in your account" message appears twice. This is due to the same conditions being present in the view at two points, here and here.

This removes the second message, so that the notice will only appear once in those specific conditions.

⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Showing the banner both at the top and bottom of the results list was intentional - because if there's a bunch of results you can't see the banner-at-the-top when you scroll down to the bottom.
But it doesn't look good when there isn't more than a page of results.  We could get rid of one of the banners, but it would be good to check with a designer first.

Showing the banner both at the top and bottom of the results list was intentional - because if there's a bunch of results you can't see the banner-at-the-top when you scroll down to the bottom.
But it doesn't look good when there isn't more than a screen of results. We could get rid of one of the banners, but it would be good to check with a designer first.

@barrucadu Ah. Thought I was missing something. My bad, I completely thought this was introduced twice by accident.
I'm not quite sure I understand the logic of it though... because since the banner at the top is before the actions, it is always seen first right? Presumably people would take note of it. Is the implication that people might either:

skip over it
read it but forget about it once they've read their results (which introduces the need to have that information duplicated after the results to make sure they don't miss it)?

Perhaps we can do something with the logic here so that the second notice only appears when there's a lengthy list of results.

Closed for now, because it was determined this was on purpose and we probably don't want to do something fancy like only show the second banner when the list of results is long enough.

authors: barrucadu danacotoran

repo: alphagov/finder-frontend


text:
Bump bundler from 2.4.10 to 2.5.3

What problem does this pull request solve?
Bumps bundler from 2.4.10 to 2.5.3.

Release notes
Changelog
Commits

Things to consider when reviewing

Ensure that you consider the wider context.
Does it work when run on your machine?
Is it clear what the code is doing?
Do the commit messages explain why the changes were made?
Are there all the unit tests needed?
Has all relevant documentation been updated?

@lfdebrux  could you also bump https://github.com/alphagov/forms-runner/blob/main/Dockerfile#L14

@lfdebrux could you also bump https://github.com/alphagov/forms-runner/blob/main/Dockerfile#L14

@aliuk2012 good spot! I don't think we actually need this line in the Dockerfile, so to make bumping Bundler easier in future I've removed it in https://github.com/alphagov/forms-runner/pull/571/commits/f642f5904ff3da17d6c9bb918514159aa2aa555f.

repo: alphagov/forms-runner


text:
Add featured block

⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
What
Adds the featured block for the landing page.
Uses code copied from the hero block to provide the text content, including more flexibility than we probably currently need. Might be good to consolidate this code - there's potentially a third block going to use the same approach.
Image handling is also copied from the hero block, using a picture element and screen pixel density detection to display an appropriate image for the current device.
Why
Required for the landing page.
Visual changes
Appearance on desktop. The image should be a set height, and it will determine the minimum height of the box and be centred within it. This means that as the screen gets narrower the left and right edges of the image will be deliberately lost.
Note that the image shown below isn't optimised for height, this is just an example.

Full width desktop
Constrained desktop

This has been built like this so that we never end up with a gap below the image. If the text is longer or the user has a higher font size set, the image will still fill the available height.

Normal
Increased text size

Appearance on tablet and below.

Trello card: https://trello.com/c/YCUbimh9/50-build-featured

@AshGDS I checked with design and they suggested this alternative, which I've implemented and updated the description to explain. Can you take a look?

repo: alphagov/frontend


text:
Make Equality Info example question accessible

What
Addresses #1624.
This PR changes an example question in the Equality information pattern from:

Which of the following options best describes how you think of yourself?

to

Which of the following best describes your sexual orientation?

Why
This change is because of an issue raised by a designer at the Office of National Statistics (ONS). The original question was inaccessible - when screen readers read it out, what was being asked was unclear to users.
The revised wording is in line with what was asked in the Census and signed off by the ONS.

You can preview this change here:
Built with commit 59c97a5da2cce66f3aae83576ee70bafed4e2eea
https://deploy-preview-1673--govuk-design-system-preview.netlify.app

A small request, could we add details of why we made the change and why we think the new wording is okay to the commit message? It would make looking at the history of this pattern easier in future :)

@EoinShaughnessy There's docs on how to change a commit message from GitHub, but if you want I'm happy to pair on this as well!

If it's helpful and just for context, here's some background on this.
For the equality information pattern, the questions are set by the Government Statistical Services and their harmonised data standard.
Even though their standard for sexual orientation is to keep the question open-ended (as originally in our pattern), further down on the page they include a heading that mentions the England and Wales Census 2021, and that both [versions of the question] are broadly comparable.
So my understanding that it's fine for us to use the ONS's question, as it's obviously better for accessibility.

@calvin-lau-sig7 That's great context - thanks!

@lfdebrux Thanks for sharing your GitHub knowledge!!

authors: EoinShaughnessy calvin-lau-sig7 govuk-design-system-ci lfdebrux

repo: alphagov/govuk-design-system


text:
Simplify main wrapper spacing logic

By using a :first-child selector we can avoid the need for a modifier class, which is often missed.
This also removes the mixins and modifier class, as there's no clear need for these things.
This work would also allow us to simplify the guidance around main wrapper, since the modifier class is no longer needed: https://design-system.service.gov.uk/styles/layout/#page-wrappers
You can compare pages, which used to require the modifier class which no longer do.

Confirm delete page, current v3
Confirm delete page, this pull request

Closes https://github.com/alphagov/govuk-frontend/issues/888

We could consider doing this after v3.0.0 and deprecating things rather than adding this as a breaking change, but I figured the risk was low since migration is automatic?

Could get this into 2.12.0 if we were so inclined...

repo: alphagov/govuk-frontend


text:
Common issue from support - people using links instead of buttons

Something that comes up from time to time is people using a link with the button class on their form. This looks identical to a <button> but it won't pass any data. To pass data you need to wrap the button and any form inputs with a <form> tag and use a real <button> element. I wonder if we can document this somewhere.

Is there anywhere within the Button guidance that would be suitable? Or maybe within the macros on the same page?

@EoinShaughnessy possibly, but I think this might be a specific issue for Prototype Kit users as opposed to Design System users in general. It might be just worth drawing people's attention to it in the Tutorial

@joelanman Ah gotcha, thanks. 👍🏻

I closed the PR I'd raised, as we're not sure about where to make the content update. One to revisit the next time a user tells us they've had this issue, and we can find out what content they were referring to.

authors: EoinShaughnessy joelanman

repo: alphagov/govuk-prototype-kit


text:
TODO: add example for email address

It was asked recently on Slack why we weren't recommending using type=email for email. I don't think we recommend against it, but just haven't got a suitable example for it.
Suggestion
Lets add a section for email addresses.
Suggest it:

Uses type=email
Disables browser validation.
Default length longer than normal.

We've also got an example that shows how users can use progressive disclosure to enter an email address. We should update that example with the above.

Following the launch of the GOV.UK Design System, GOV.UK Elements will now only get major bug fixes and security patches, so I'm going to close this.
For reference, there is now guidance on asking users for email addresses in the Design System.


text:
Documentation feedback - non-technical user

Background
I installed the kit on a Macbook Air first, then after tried installing on a PC. Both already had github desktop and git bash installed on them. The Macbook installation was 100% successful, and I pushed a test app to heroku and also github. The PC one got as far as the Heroku toolbelt, but I don't have CMD access on that machine so that was the end of it at least as far as publishing.
As a non-technical person there were one or two points along the way where I had questions or doubts, which I have noted below in the spirit of making suggestions to help with the documentation. At the time I had not gone through the tutorial on git.
Feedback
https://github.com/alphagov/govuk_prototype_kit/blob/master/docs/guides/setting-up-git.md - would be good to include here the link to installing git bash. I appreciate it's in the separate installation guide, but as the page is "Setting up git" it would make sense to include here too - especially if you don't quite follow the correct order or are exploring the pages.
https://github.com/alphagov/govuk_prototype_kit/blob/master/docs/guides/publishing-on-heroku.md - I missed the part about Windows software compatibility, the very first callout, so later on was scratching my head wondering why I kept getting an error when trying to push to heroku. Could this info be included under step 2 about installing the toolbelt? In my case CMD is locked down on the PC so I couldn't complete the heroku setup.
https://github.com/alphagov/govuk_prototype_kit/blob/master/docs/guides/publishing-on-heroku.md - step 3, at this point I wondered "does the project folder have to have the same name as this app name?". I suspect not, but chose to call it the same anyway so it would always be crystal clear. This also relates to the point below about not quite getting "how and where" the app name is stored
https://github.com/alphagov/govuk_prototype_kit/blob/master/docs/guides/publishing-on-heroku.md - step 3/4: having successfully set everything up on a macbook, I thought I'd try to do the same on a PC to mimic two people collaborating. My question at this point was: do I need to do this 'create an app' step again, presumably not? But where is the name of the app actually stored, and at what point does the second machine get it - presume this must be stored in git and synced from heroku?
Related to this - I googled info on how to push to both github.com and heroku, as:

I wasn't quite clear about how heroku collaboration works (though as it's using git I expect its identical to what I know from github),
We normally use github for sharing code so I wanted to stick with that.
I've chosen to just do separate push commands for now, as it seems more transparent and controllable. I did see that you can hook heroku up to github to deploy automatically, but was concerned by having to grant access to both public and private repositories.

Suggestion on these points: add a guide on code collaboration options for newbies. The guides are currently focused on setting up a new repo etc from scratch and not how to hook into an existing one.
https://github.com/alphagov/govuk_prototype_kit/blob/master/docs/guides/publishing-on-heroku.md - now I've successfully pushed one test app to heroku, and pushed the code to github, I noted this line "You can have multiple apps running on Heroku - projects often have several so they can try different ideas out at once.". A short explanation of that would help for someone like me. I'm presuming I load a particular branch and deploy that with a particular app name. A brief how-to might help for 1. Those using github, and 2. Those only using Heroku

@markbarlow Hi Mark, thanks for this feedback.
Could you expand on the point about Windows compatibility and Heroku? I'm not a Windows user so I'm not aware of the issue.

Hi @sanjaypoyzer - sure, on https://github.com/alphagov/govuk_prototype_kit/blob/master/docs/guides/publishing-on-heroku.md the very first sentence says "These don't currently work on Windows due to a software incompatability. The Heroku toolbelt is not compatible with Git Bash - you will need to use CMD instead.". I missed this first of all so went ahead and downloaded the toolbelt and tried to use it via Git Bash (I don't have CMD access on the PC in question). My suggestion here was just to move or duplicate that message under step 2

Also, could you expand on what you were trying to do when you say "mimic two people collaborating"? The collaboration happens via Git (and GitHub) and is synced up to Heroku when people push to the master branch, so what might be helpful here is a link to a more in depth Git tutorial.
On that note as well, if you could provide links to the other guides that were useful that would be great. If there's a specific point in them that we should include in the documentation, then great, but for some things it might be better to just link to them.

Hi Sanjay - as far as mimicing two people collaborating, I was thinking about collaborating with git and an organisation account on github. Two or more separate people working on the same prototype. At the time of writing I was new to heroku so didn't initially appreciate it offers much of the same collaboration concepts. However, as github is our default code repo, and has more granular collaboration (from what I can tell - teams, ease of visibility, public/private etc), it makes more sense to us to stick to that.
Fair to say that things started to make more sense once I had:
a. Done the git command line tutorial which is already linked (and gave me a wider understanding, having previously mainly used the github desktop client)
b. Properly understood the difference between git and github/heroku
c. Started slowly weening myself off the github desktop app....

@markbarlow Cool, glad to hear you got it all sorted in the end. Is there any other specific things you think need to be added/changed to the guidance that would have helped you?

Think that's all for now @sanjaypoyzer - thanks

authors: markbarlow sanjaypoyzer


text:
Make ManualRelocator be more robust with what it considers published

If the latest edition is published, that's acceptable not just when it's
the only edition.
We deployed #765 to integration and the migration failed because the HCA version of the manual was currently published, but had more than one edition and it failed.

We shouldn't need this 2nd commit, but as we've run the migration partly and failed later from a different branch, the "bad" manual is already gone, and so the migration when run a second time will fail.

Deployed this to integration with success and checked that things have been redirected and reslugged as expected.

repo: alphagov/manuals-publisher


text:
Update grafana org name and org users role

What

Make configure-grafana task into a task file rather than inline ruby
When configuring Grafana, add the new users into the org
When configuring Grafana, ensure all users are org admins

This is so everyone gets the Explore button in the sidebar without having to fiddle with their user account.
How to review

Run this down your pipeline
Using the admin account, delete your user
Run prometheus-deploy twice

Who can review
Not @tlwr

Looks fine to me. One comment (which you can choose not to address if you like):
There are now a few things that do set-like operations, but don't use sets. e.g.
        users_to_create = users_that_should_exist.reject do |email|
          grafana_users.any? { |u| u.dig('email') == email }
        end

It would save a bit of noise if you did .to_set at the end of each chain and then used - and + rather than .select and .reject

Ah, although now I see you're rejecting objects based on string values, so probably not possible.

Unfortunately the types are different so taking the difference of sets is not possible, as you say :(

authors: richardTowers tlwr

repo: alphagov/paas-cf


text:
Increase broker client timeout property in CC

What

Also reconcile properties for CC clock, as well as CC worker and API
Increase the broker client timeout property

(2) Creating cloudfront distributions sometimes take longer than 1 minute, which is the default timeout for CCs broker HTTP client
Increasing this will increase the likelihood that requests to the CDN broker do not timeout
More details on this zendesk ticket: https://govuk.zendesk.com/agent/tickets/4049154
The actually good solution would be to do the distribution creation in cdn-cron rather than within the context of a HTTP request/response.
How to review
Code review
Who can review
Not @tlwr

You are correct this doesn't apply to the clock, only worker and API


text:
Bump ruby to 2.1.5

Ruby 1.9.3 is no longer supported.

LGTM :+1:

authors: benilovj jackscotti

repo: alphagov/smart-answers


text:
Ruby script is currently reporting failing docker builds as successful

Its been observed that at some point the ruby script has stopped reporting failing builds and instead is treating all builds as successful.  This presents two issue:

The script can fail when it tries to bring up missing docker containers with a confusing error message.
If you are trying to replace existing containers Docker Compose will bring up the old containers if the build stage fails.

Marking this bug as urgent to fix.

This issue has been fixed by the above pull request.  Closing this issue.

repo: alphagov/verify-local-startup


text:
Add content IDs for unpublished statistics announcements

Content IDs were added to almost all statistics announcements as
part of https://github.com/alphagov/whitehall/pull/2457. However,
the ActiveRecord query used in the data migration wasn't unscoped
and StatisticsAnnouncement has a default scope.
This data migration generates content IDs for the remaining records.
/cc @gpeng

👍

authors: benilovj gpeng

repo: alphagov/whitehall