CachedRowSetRowKey[0]

Boa tarde galera, estou desenvolvendo um sistema web usando DataProvider, porém quando vou alterar um dado de um cliente no banco de dados me apresenta o erro:

Segue meu codigo.

[code] public String salvarEndereco() {
try {

        String rua = (String) lougradouro.getValue();
        rua = rua.toUpperCase();
        info(rua);
        String bairro1 = (String) bairro.getValue();
        bairro1 = bairro1.toUpperCase();
        info(bairro1);
        String cidade1 = (String) cidade.getValue();
        cidade1 = cidade1.toUpperCase();
        info(cidade1);
        String estado1 = (String) estado.getSelected();
        Float num = (Float) numero.getValue();
        info("numero"+num);
        String cep1 = (String) cep.getValue();
        info(cep1);
        String mcomplement = (String) complement.getValue();
        if (mcomplement != null) {
            mcomplement = mcomplement.toUpperCase();
        }
        info(mcomplement);
        FacesContext fc = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
        int contador = (Integer) session.getAttribute("pesqcontador");
        getSessionBean1().setpesquisarCodigo(contador);
        info("codigo contador"+contador);
        int pesquisado = getSessionBean1().getpesquisarCodigo();
        getSessionBean1().getAlterarcontadorRowSet1().setObject(1, pesquisado);
        info("codigo pesquisado"+pesquisado);
        alterarcontadorDataProvider1.refresh();
        info("refresh");
        Integer codcontador = (Integer) alterarcontadorDataProvider1.getValue("contador.codigo");
        info("codiigo contador: "+codcontador);
        RowKey rk = alterarcontadorDataProvider1.getCursorRow();
        info("rk");
        pesqendereco_contadorDataProvider1.setValue("endereco_contador.complemento", rk, mcomplement);
        info("complemento");
        pesqendereco_contadorDataProvider1.setValue("endereco_contador.cep", rk, cep1);
       info("cep");
        pesqendereco_contadorDataProvider1.setValue("endereco_contador.estado", rk, estado1);
        info("estado");
        pesqendereco_contadorDataProvider1.setValue("endereco_contador.logradouro", rk, rua);
        info("rua");
        pesqendereco_contadorDataProvider1.setValue("endereco_contador.numero", rk, num);
       info("numero");
        pesqendereco_contadorDataProvider1.setValue("endereco_contador.cidade", rk, cidade1);
        info("cidade");
        pesqendereco_contadorDataProvider1.setValue("endereco_contador.bairro", rk, bairro1);
        info("bairro");
        pesqendereco_contadorDataProvider1.commitChanges();
        info("comit");
        pesqendereco_contadorDataProvider1.refresh();
        info("refresh");
        info("Endereço inserido com sucesso");
        
        
    } catch (Exception e) {
        error("Erro" + e);
    }

    return null;
}[/code]