gpt4 book ai didi

performance - plone.scale 注释膨胀(无用?)尺度

转载 作者:行者123 更新时间:2023-12-04 02:38:35 25 4
gpt4 key购买 nike

在调查 ConflictError ( see this previous question ) 时,我看到了很多 persistent.mapping.PersistentMapping 冲突。

具体看了一下,原来是plone.scale的PersistentMapping。

事实证明,一个只有一张图像的随机对象上面有 562 个键,难怪为什么它会出现冲突错误......

持有此 plone.scale 注释的对象的一些上下文:- 灵巧内容类型- 它的一个行为有一个图像字段(plone.namedfile.field.NamedBlobImage)

查看代码如下:

启动调试实例:./bin/instance debug

from ZODB.utils import p64
OID = 0x568428 # got from zeo client logs
mapping = app._p_jar[p64(OID)]
len(mapping) # that returns 562

神秘的部分是,持久映射中只有 4 个键是元组,而其他 558 个键只是散列。

简要介绍 plone.scale.storage.AnnotationStorage.scale方法似乎暗示持久映射上的元组和散列键之间应该只有一对一的关系。

进一步调查元素表明,实际上,如果您查看所有元素的 widthheight 属性,只有 4 种不同的组合(来自元组的组合本身)。

每当修改的时间变大(参见上面指出的缩放方法)和plone.namedfield.scaling.ImageScaling.modified时,就会生成一个新的缩放比例使用上下文作为修改的源,这意味着在对象的每次更新中都会生成一个新的比例?

所以前面两个问题产生了:

  • 我关于只有 4 个秤真正被使用而其他 558 个老旧无用的假设是真的吗?

  • 前一个回答是,那不应该清理吗?

最佳答案

您可能是对的,但报告此问题的正确位置肯定是 https://dev.plone.org/newticket

关于performance - plone.scale 注释膨胀(无用?)尺度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19661569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com