前言
最近有点不务正业,除了日常开发之外,几乎把所有的精力都奉献给了大A股,人说可能这就是男人步入中年后的一大标志
。
正所谓,人到中年有点苦,想来想去不如去炒股。中年男人们正在用炒股,干掉所谓的“35岁危机”。
虽然投机倒把的确实赚了点生活费,但是明显感觉本职工作力不从心了。危机不但没解决,反而正在无限的放大
,所以,下周清仓吧。
好了废话有点多了,今天和大家分享一下上周日常开发过程中遇到的两个奇怪的小问题。前后端各一个,在这里记录一下。
本篇主要包含以下几个方面的内容:
- 1. es索引异常引发的数据无法写入的问题
- 2. element-UI的input 参数clearable失效记录
一、es索引异常引发的数据无法写入的问题
- 报错信息:
ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
- 报错分析:
从报错信息可以看出,索引变成了只读的状态,度娘给出的解释是“一旦在存储超过95%的磁盘中的节点上分配了一个或多个分片的任何索引,该索引将被强制进入只读模式”。
在让运维去查看es磁盘空间的时候,发现还有50%以上的空间可用,但这并不能代表就不是这个问题导致的!因为如果之前的某一刻磁盘飙到了95%,而刚好那个时候创建了该索引,后面即使你扩容了或者把磁盘空间给清理了出来,但是索引只可读的状态是不会改变的。
- 解决方案:
有两种方案,一种是你直接把原来的索引给删除重建,第二种就是将es里面的索引的状态切换回来,执行如下命令即可:
如果你知道你的索引,那么执行:
curl -XPUT -H "Content-Type: application/json" http://你的IP地址+端口/yourindex/_settings -d '{"index.blocks.read_only_allow_delete": null}'
或者在kibana上直接执行:
PUT //_settings
{"index.blocks.read_only_allow_delete": null
}
不知道的情况下,就将所有的索引都切换状态即可:
curl -XPUT -H "Content-Type: application/json" http://你的IP地址+端口/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
如果你知道你的索引,那么执行:
curl -XPUT -H "Content-Type: application/json" http://你的IP地址+端口/yourindex/_settings -d '{"index.blocks.read_only_allow_delete": null}'
或者在kibana上直接执行:
PUT //_settings
{"index.blocks.read_only_allow_delete": null
}
不知道的情况下,就将所有的索引都切换状态即可:
curl -XPUT -H "Content-Type: application/json" http://你的IP地址+端口/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
补充⚠️:
在排查上面这个问题的时候,还发现了es系统级别的索引有异常:
解决方案:执行下面?命令即可
curl -XPOST 'http://IP+端口/_cluster/reroute?retry_failed=true'
curl -XPOST 'http://IP+端口/_cluster/reroute?retry_failed=true'
二、element-UI的input 参数clearable失效记录
- 问题回顾与猜想:
最近,系统出现了一个很奇怪的问题,发现项目中element-UI的input参数clearable失效了,随之带来的就是@clear事件无法触发!这不是扯蛋嘛!好好的系统怎么突然出现了这样的BUG呢?
具体原因经过了大半天的试验,先排除了代码逻辑的错误。最后,猜测是这段时间项目中进行了一次较大的前端改造,element-UI的版本并没有改变,但是可能新加入的某一些包,比如AntvG2\AntvG6\codemirror等导致了包的冲突。这个是纯猜测的,因为要去验证太麻烦了。
- 解决方案:
想到我的element-UI的版本并不是最新的,但可以肯定的是老的版本肯定也是支持的,那就死马当活马医,试试升级一下。
起初,我想要的是单纯的对element-UI的版本进行升级,但是发现升级后项目都起不来了,于是才有了下面?的操作:亲测可行,问题得到解决!
如果你按照官网文档加上clearable属性没有用的话,那么可能是版本不对或者没引入,可以使用这条命令
npm update
如果你按照官网文档加上clearable属性没有用的话,那么可能是版本不对或者没引入,可以使用这条命令
npm update
总结
2021年的第一篇,希望自己坚持下去吧!
你不是担心没有人爱你。你担心的是没有人用你要的方式爱你。到头来你会发现你的担心是对的:没有人能以你想要的方式爱你,除了你自己。
欢迎大佬指正,创作不易,喜欢的朋友,记得点赞?关注➕