堆栈深度超过限制

这篇具有很好参考价值的文章主要介绍了堆栈深度超过限制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错:Cause: com.kingbase8.util.KSQLException: 错误: 堆栈深度超过限制 Hint: 在确定了平台的堆栈深度限制是足够大后,增加配置参数 "max_stack_depth"的值(当前值为2048kB).; 错误: 堆栈深度超过限制 Hint: 在确定了平台的堆栈深度限制是足够大后,增加配置参数 "max_stack_depth"的值(当前值为2048kB).; nested exception is com.kingbase8.util.KSQLException: 错误: 堆栈深度超过限制 Hint: 在确定了平台的堆栈深度限制是足够大后,增加配置参数 "max_stack_depth"的值(当前值为2048kB).]

经过以下改进仍没能解决:

        List<String> sampleInfoIds = sampleInfoList.parallelStream()
                .map(BaseEntity::getId).collect(Collectors.toList());//sampleInfoIds过大
        List<String> subList1 = sampleInfoIds.subList(0, sampleInfoIds.size() / 2);
        List<String> subList2 = sampleInfoIds.subList(sampleInfoIds.size() / 2, sampleInfoIds.size()-1);
    
        List<SampleInfoDTO> sampleInfoDTOList = sampleInfoMapper.getSampleInfoDTOByIds(subList1);
        List<SampleInfoDTO> sampleInfoDTOList1 =sampleInfoMapper.getSampleInfoDTOByIds(subList2);
        sampleInfoDTOList.addAll(sampleInfoDTOList1);

以下解决了该问题文章来源地址https://www.toymoban.com/news/detail-687667.html

  List<String> sampleInfoIds = sampleInfoList.parallelStream()
                .map(BaseEntity::getId).collect(Collectors.toList());
        int batch=7000;
        int c=(int) Math.ceil((sampleInfoIds.size()*1.0)/batch);
        List<SampleInfoDTO> sampleInfoDTOList=new ArrayList<>();
        List<CompletableFuture> completableFutures=new ArrayList<>();
        for (int i=0;i<c;i++){
            int fromIndex=i*batch;
            int endIndex=(i+1)*batch-1;
            List<String> ids=sampleInfoIds.subList(fromIndex,Math.min(endIndex, sampleInfoIds.size()-1));
            CompletableFuture<List<SampleInfoDTO>> future = CompletableFuture.supplyAsync(() -> {
                return sampleInfoMapper.getSampleInfoDTOByIds(ids);
            }, executor);
            completableFutures.add(future);
        }
        CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).join();
        for (CompletableFuture future : completableFutures) {
            try {
                sampleInfoDTOList.addAll((List<SampleInfoDTO>)  future.get());
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            } catch (ExecutionException e) {
                throw new RuntimeException(e);
            }
        }

到了这里,关于堆栈深度超过限制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp开发微信小程序,主包(分包超过限制)

    嘀嘀嘀  ~  和大家分享一下  最近的uniapp开发微信小程序  在真机调试 或者在上传的时候 提示主包或者分包 大小超过限制   首先和大家说一下  微信小程序  主包限制不能超过2M     分包一共不能超过8M(好像是记不太清了) 然后具体解决优化步骤如下, 1.   将主包进

    2024年02月15日
    浏览(55)
  • websocket 发送的消息超过默认限制就会自动断开连接

    近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等 获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上 springboot集成websocket需要三步: 添加依赖  添加配

    2024年02月12日
    浏览(45)
  • SQL拦截:想要限制每次查询的结果集不能超过10000行,该如何实现?

    实践出真知,欢迎关注我的公众号:Hoeller 对于一些Saas化软件,当某个租户在执行查询SQL时,如果查询条件出现了BUG,导致去查了所有租户的数据,这种情况是非常严重的,此时就需要在架构层面做限制,禁止一些特殊SQL的执行,另外,为了保护数据库,也可能会限制某些查

    2024年02月05日
    浏览(40)
  • es sharding 文档数量超过最大限制,写入失败的4种解决方案

    es 插入数据的时候报错 failure in bulk execution: [0]: index [leopard_user.driver_work_detail_record], type [detail_info], id [xxx], message [ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=number of documents in the index cannot exceed 2147483519]]], 超过了2^31次方 解决方案: 方案一 重新创建一个

    2024年02月03日
    浏览(76)
  • 【需求】微信小程序getAccessToken接口调用过于频繁,导致超过每日限制,不能再次获取

    微信API文档上有讲:①getAccessToken接口生成的access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效②每天有调用次数限制,据说是2000次,具体多少就不知道了。本需求需要保证每天能正常获取和使用getAccessToken。 1.1 联调微信小程序的getA

    2024年02月16日
    浏览(58)
  • HBuilderx 坑 之前没问题 改了几行代码 小程序上传报分包大小超过限制

      目录 Error: 分包大小超过限制,main package source size 4199KB exceed max limit 2MB [20221008 16:08:06][wx432abdb518bdc1eb] 本文重点来了!! 如题:小程序,只改了几行代码,上传报主包超过限制,简直有毒,估计很多人都遇到过此类情况,官方解释的优化方案也不是很好用,但是今天我试了一

    2024年02月16日
    浏览(54)
  • uni-ui 中 uni-file-picker组件限制用户上传大小超过大小自动去除

    uni-ui 中 uni-file-picker组件限制用户上传大小超过大小自动去除 找到该组件位置打开uni-file-picker 在props中添加自己想起的名字绑定限制大小 找到chooseFileCallback方法插入代码: 其他页面调用即可

    2024年01月15日
    浏览(65)
  • Git文件过大我们应该怎么办?为什么git限制上传文件大小不超过100M?

    持续学习总结输出中,随着我们存储的文件数据越来越多,我们的Git仓库所维护的文件大小也会越来越大。当出现 Git 文件过大的情况时,我们应该怎么办呢? Git 对我们上传的文件大小是有限制的。默认限制最大的单文件100M,Git对单个文件的大小限制是在 100MB ~ 1GB 之间。这

    2024年02月04日
    浏览(63)
  • 微信小程序上传代码, Error: 分包大小超过限制,main package source size 4732KB exceed max limit 2MB

    (1)新建文件夹pagepart (2)文件夹新建页面 (3)修改app.json 结束 目前就分包完成了 可以在微信开发者工具 详情基本信息中查看当前分包大小 (1)用画图软件打开照片,把数值改小 总结 可以右击查看属性,查看照片的的大小 要是有什么写的不对的地方,请大佬多多指教

    2024年02月16日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包