Google app engine + twig-persist

Bom dia,

Estou me aventurando num aplicativo que rode no GAE basedo no JSF 2.0, prime-faces e twig-persist…

Tive vários problemas para rodar o JSF (se fosse começar hoje não usaria), mas está rodando até bem.

O meu problema agora é com o Twig ou o datastore (ainda não sei dizer).

Tenho duas classes (vou remover os getters e setters para nao ocupar muito espaço):

[code]
import java.io.Serializable;

import org.hibernate.validator.constraints.Length;

import com.google.code.twig.annotation.Id;

public class Size implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@Length(min=1,max=4,message="{validation.size.invalidSize}")
private String		size;

private	String		description;

public Size() {
	super();
}

public Size(String name, String description) {
	this.size = name;
	this.description = description;
}

}[/code] e [code]import java.io.Serializable;
import java.util.Collection;

import com.google.code.twig.annotation.Id;

public class SizeGroup implements Serializable {
private static final long serialVersionUID = 1L;

@Id
private Long id;

private String name;

private Collection<Size> sizes;

}[/code]

Para facilitar meus testes criei classes para povoar minha base de dados:

[code]
public class SizeProducer implements Producer {
@Override
public void produce() {
SizeDAO dao = new SizeDAO();

    dao.persist(new Size("PP", "Muito pequeno"));
    dao.persist(new Size("P", "Pequeno"));
    dao.persist(new Size("M", "Médio"));
    dao.persist(new Size("G", "Grande"));
    dao.persist(new Size("GG", "Muito grande"));
    dao.persist(new Size("XGG", "Muito maior que grande"));
}    

}[/code]e[code]public class SizeGroupProducer implements Producer{

@Override
public void produce() {
    SizeDAO sizeDao = new SizeDAO();
    
    List<Size> findAll = sizeDao.findAll();
    int middle = (int) Math.floor(findAll.size() / 2 );
    
    SizeGroup infantil = new SizeGroup();
    infantil.setName("Infantil");
    infantil.setSizes(findAll.subList(0, middle));
    
    SizeGroup adulto = new SizeGroup();
    adulto.setName("Adulto");
    adulto.setSizes(findAll.subList(middle, findAll.size()));
    
    SizeGroupDao dao = new SizeGroupDao();
    dao.persist(infantil);
    dao.persist(adulto);
}

}[/code]

Ao testar no ambiente de desenvolvimento, o primeiro produtor de dados executa normal… ao executar o segundo ele não encontra todos os itens adicionados pelo primeiro. Ao debugar notei que se ficar inspecionando o findAll várias vezes ele vai carregando mais registros até chegar a quantidade correta. Imaginei que isso fosse um delay para disponibilizar os dados.

Será que é isso mesmo? Se sim, como faço para evitar os problemas que posso ter com esse atraso? Será um problema com o Twig? Não cheguei a testar com o Objectfy (devo fazer isso entre hoje e amanhã) será que terei o mesmo problema?

Alguém pode me ajudar, por favor?

Grato pela atenção,
Éberson