一、问题背景
基本需求
对于模型租户控制台新增了一个字段,名称为max_token_limit,表示模型请求的最大token限制,现在需要开放一个RPC接口,用来查询某个模型的最大token的属性,给其他模块调用。RPC框架采用的是Thrift,它通过IDL具备跨语言调用的能力,支持语言包括但不限于java、golang、c++、python等。
研发过程
功能开发过程并不难,根据传入的模型信息参数,由于支持批量传输,所以入参是一个列表,我们只需要从数据库里面批量读取当前模型允许的最大token属性,存储到一个list里面,然后传输给调用方就行。在线下boe环境数据库里面,我批量设置了max_token_limit初始数值为0,在预发和线上环境的数据库里面则没有进行初始化设置,默认为null.一番简单改代码后,线下boe环境测试成功。
预发环境出现的问题
当我把代码发到预发上以后,控制台出现报错空指针异常,获取logID,通过日志系统进行链路流程追踪,发现报错信息如下。
可以发现是运行到Thrift的某个write函数的地方出现了错误,但是具体细