<p>fatality!</p>
<p>Lorn++ =D</p>
<div class="gmail_quote">On Mar 14, 2012 10:25 AM, "Lindolfo Lorn Rodrigues" <<a href="mailto:lorn@lornlab.org">lorn@lornlab.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Eu não sou uma pessoa que goste de escrever emails grandes, talvez algum dia eu escreva um blog post sobre isso.<div>Para mostrar alguns dos meus motivos, peguei o changelog das duas ultimas versões:</div><div><br></div><div>

<a href="http://www.elasticsearch.org/download/2012/03/01/0.19.0.html" target="_blank">http://www.elasticsearch.org/download/2012/03/01/0.19.0.html</a></div><div><a href="http://www.elasticsearch.org/download/2012/01/10/0.18.7.html" target="_blank">http://www.elasticsearch.org/download/2012/01/10/0.18.7.html</a></div>

<div><br></div><div><span style="background-color:rgb(130,182,74);font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:24px">query never returns (</span><a href="http://github.com/elasticsearch/elasticsearch/issues/issue/1725" style="background-color:rgb(130,182,74);margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:2px;padding-bottom:0px;padding-left:2px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:16px;vertical-align:baseline;background-image:initial;color:rgb(219,243,192);text-decoration:none;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;line-height:24px" target="_blank">#1725</a><span style="background-color:rgb(130,182,74);font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:24px">)</span><br>

</div><div><ul style="margin-top:0px;margin-right:0px;margin-bottom:1em;margin-left:1.5em;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:16px;vertical-align:baseline;background-image:initial;background-color:rgb(130,182,74);list-style-position:outside;font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;line-height:22px">

<li style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0.2em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;line-height:1.5em">

Orderly shutdown with unicast discovery might cause the shutdown node to still be part of the election process (<a href="http://github.com/elasticsearch/elasticsearch/issues/issue/1740" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:2px;padding-bottom:0px;padding-left:2px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;color:rgb(219,243,192);text-decoration:none;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" target="_blank">#1740</a>)</li>

<li style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0.2em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;line-height:1.5em">

NullPointerException when asking for null valued json field when fetching search request (<a href="http://github.com/elasticsearch/elasticsearch/issues/issue/1749" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:2px;padding-bottom:0px;padding-left:2px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;color:rgb(219,243,192);text-decoration:none;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" target="_blank">#1749</a>)</li>

</ul><div><br></div><span style="font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;background-color:rgb(130,182,74)">Cluster metadata files destroyed when using blob store gateway causing data loss (</span><a href="http://github.com/elasticsearch/elasticsearch/issues/issue/1564" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:2px;padding-bottom:0px;padding-left:2px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:16px;vertical-align:baseline;background-image:initial;background-color:rgb(130,182,74);color:rgb(219,243,192);text-decoration:none;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;line-height:24px" target="_blank">#1564</a><span style="font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;background-color:rgb(130,182,74)">)</span></div>

<div><ul style="margin-top:0px;margin-right:0px;margin-bottom:1em;margin-left:1.5em;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:16px;vertical-align:baseline;background-image:initial;background-color:rgb(130,182,74);list-style-position:outside;font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;line-height:22px">

<li style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0.2em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;line-height:1.5em">

Two different indexes with the same nested object name causing ArrayIndexOutOfBoundsException (<a href="http://github.com/elasticsearch/elasticsearch/issues/issue/1575" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:2px;padding-bottom:0px;padding-left:2px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;color:rgb(219,243,192);text-decoration:none;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px" target="_blank">#1575</a>)</li>

</ul><div><span style="font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;background-color:rgb(130,182,74)">S3 blob storage gateway: deleting an index named x destroys data for any index with name beginning with x (</span><a href="http://github.com/elasticsearch/elasticsearch/issues/issue/1582" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:2px;padding-bottom:0px;padding-left:2px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;outline-width:0px;outline-style:initial;outline-color:initial;font-size:16px;vertical-align:baseline;background-image:initial;background-color:rgb(130,182,74);color:rgb(219,243,192);text-decoration:none;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;line-height:24px" target="_blank">#1582</a><span style="font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;background-color:rgb(130,182,74)">)</span><font face="'Helvetica Neue', 'Helvetica Neue', Helvetica, Arial, sans-serif" size="3"><span style="line-height:22px"><br>

</span></font></div><div><span style="font-family:'Helvetica Neue','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;background-color:rgb(130,182,74)"><br></span></div><div>Olha o tipo de bug que eles ainda estão resolvendo, se vocês derem uma olhada caso ocorra QUALQUER um desses bugs:</div>

<div><br></div><div>  - A possibilidade da sua base corromper é grande.<br></div><div>  - Seu sistema vai ficar indisponivel</div><div><br></div><div><div>Se a sua base foi corrompida e você precisa reindexar seus documentos, isso é um trabalho pesado e lento ( e não tem nada a ver com o ES )</div>

<div>ElasticSearch, como  o nome já diz, é um sistema para BUSCA, como Solr, não um sistema para guardar objetos/dados.</div><div>Usar Solr/ElasticSearch como persistencia de dados é errado, e deixar de usar Solr como sistema de busca para usar ElasticSearch também não é uma boa escolha.</div>

<div>Apenas como lição de casa, deem uma olhada no changelog das ultimas versões do Solr:</div><div><br></div><div><a href="http://lucene.apache.org/solr/solrnews.html" target="_blank">http://lucene.apache.org/solr/solrnews.html</a><br>
</div>
<div><br></div><div>Procurem quantos bugs criticos desse tipo foram corrigidos/existem ( se olhar no Jira do projeto )</div></div><div><font face="'Helvetica Neue', 'Helvetica Neue', Helvetica, Arial, sans-serif" size="3"><span style="line-height:24px"><br>

</span></font></div><div><font face="'Helvetica Neue', 'Helvetica Neue', Helvetica, Arial, sans-serif" size="3"><span style="line-height:24px">PS: Até que o email ficou grande :D</span></font></div><div class="gmail_quote">

2012/3/14 Marcio Ferreira <span dir="ltr"><<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<p>qual o trauma?</p><div><div>
<div class="gmail_quote">On Mar 14, 2012 9:52 AM, "Lindolfo Lorn Rodrigues" <<a href="mailto:lorn@lornlab.org" target="_blank">lorn@lornlab.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Use qualquer coisa, menos ElasticSearch.<div>Sério.<br><br><div class="gmail_quote">2012/3/14 Marcio Ferreira <span dir="ltr"><<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>></span><br>




<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p>Só dando um pitaco, ao contrário do mongoDB, experimente o ElasticSearch - performance incrível. E se atente na forma de como será feita a consulta na API das redes, as vezes consultar uma vez ao dia já resolva seu problema, e evite os horários de pico prq rodar seu scraper =S</p>




<div><div>

<div class="gmail_quote">On Mar 14, 2012 8:03 AM, "Tiago Peczenyj" <<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





Oi<br>
<br>
é possivel criar uma fila usando um feed rss ou criando arquivos em um<br>
diretorio. basta ver o que é mais interessante para o teu projeto. Por<br>
exemplo, se vc publicar um feed e tiver do outro lado um consumidor<br>
fazendo pooling vai ser tão bom quanto um ActiveMQ se vc não estiver<br>
com um volume muito grande de dados E se puder esperar uns segundos.<br>
Isso pode simplificar a tua infra num primeiro momento.<br>
<br>
On Tue, Mar 13, 2012 at 11:33 PM, Daniel de Oliveira Mantovani<br>
<<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>> wrote:<br>
> Shonorio, o Gearman não é um sistema de fila, ele funciona como um<br>
> distribuid system.<br>
><br>
> Você deva usar o AMPQ[1] ou o Apache ActiveMQ[2] para criar a fila e o<br>
> Gearman para processar a informação. O Worker não sabe da existência<br>
> do Client, quem faz esse intermédio é o Gearman Server[3].<br>
><br>
> "A Gearman powered application consists of three parts: a client, a<br>
> worker, and a job server. The client is responsible for creating a job<br>
> to be run and sending it to a job server. The job server will find a<br>
> suitable worker that can run the job and forwards the job on. The<br>
> worker performs the work requested by the client and sends a response<br>
> to the client through the job server. Gearman provides client and<br>
> worker APIs that your applications call to talk with the Gearman job<br>
> server (also known as gearmand) so you don't need to deal with<br>
> networking or mapping of jobs. Internally, the gearman client and<br>
> worker APIs communicate with the job server using TCP sockets. To<br>
> explain how Gearman works in more detail, lets look at a simple<br>
> application that will reverse the order of characters in a string. "<br>
><br>
> [User Interface] <===>[RDBMS]<===> [Queue System]<br>
>                                                                  /\<br>
>                                                                  ||<br>
>                                                                  ||<br>
>                                                       [Distribuid<br>
> System] <===> [Document-oriented database]<br>
><br>
><br>
> Se baseando nesse arquitetura o Queue System vai mandando "jobs" de<br>
> acordo com número de workers que você tem disponível, evitando um<br>
> overhead e criando um sistema "auto scalability".<br>
><br>
> Se eu fosse você eu me preocuparia com a forma de armazenamento dos<br>
> dados, as redes sociais já garantem a integridade dos dados, sendo<br>
> assim uma solução Document-oriented database te pouparia muito<br>
> processamento e trabalho. Existem várias opções, eu recomendo o<br>
> MongoDB[4] mesmo com o Eden Cardim me crucificando por isso.<br>
><br>
> Guarde os dados dos usuários e do site num RDBMS, se você estiver<br>
> pensando num RDBMS open source eu te recomendo o PostgreSQL, ele tem<br>
> um ótimo suporte ao paradigma temporal.<br>
> Se você usar o PostgreSQL, eu te recomendo usar o Pgpool[5] para<br>
> replication, clustering, load balance etc.<br>
><br>
> [1] - <a href="http://www.amqp.org/about/what" target="_blank">http://www.amqp.org/about/what</a><br>
> [2] - <a href="http://activemq.apache.org/" target="_blank">http://activemq.apache.org/</a><br>
> [3] - <a href="http://gearman.org/" target="_blank">http://gearman.org/</a><br>
> [4] - <a href="http://www.mongodb.org/display/DOCS/Sharding+Introduction" target="_blank">http://www.mongodb.org/display/DOCS/Sharding+Introduction</a><br>
> [5] - <a href="http://www.pgpool.net/mediawiki/index.php/Main_Page" target="_blank">http://www.pgpool.net/mediawiki/index.php/Main_Page</a><br>
><br>
> Grande Abraço.<br>
><br>
> 2012/3/13 Solli Honorio <<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>>:<br>
>> Pessoal,<br>
>><br>
>> Estou iniciando um projeto de monitoramento de mídias sociais e fazer algum<br>
>> processamento com estas informações, e acredito que utilizar esquemas de<br>
>> fila serviria muito bem para este ambiente.<br>
>><br>
>> Basicamente o esquema que estou imaginando para o ambiente é :<br>
>><br>
>> [ Interface com o usuário ] <===> [Banco de Dados] <====> [Sistema de Fila]<br>
>><br>
>>                    ||             ||<br>
>><br>
>>                    ||             +- [Executa a pesquisa]<br>
>><br>
>>                    ||<br>
>><br>
>>                    +-- [ Processa o resultado da pesquisa]<br>
>><br>
>> As ações que eu imagino nisto são :<br>
>><br>
>> * interface com o usuário não é meu problema, tem um webdeveloper<br>
>> trabalhando nisto;<br>
>> * não quero de maneira alguma fazer os 'agentes' interagir diretamente com o<br>
>> banco de dados, por isto penso em criar um cliente que leia o banco de dados<br>
>> e coloque os dados formatados para o agente na fila do agente. O caminho<br>
>> contrário também, ler o resultado do agente e gravar no banco de dados;<br>
>><br>
>> Estou avaliando a possibilidade de utilizar o Gearman (na verdade não tenho<br>
>> certeza se esta é a melhor alternativa mesmo), na verdade o<br>
>>  AnyEvent::Gearman. Mas algumas coisas me chamaram no Gearman do qual eu<br>
>> acho meio estranho para o ambiente sistema de fila que eu tenho na minha<br>
>> cabeça.<br>
>><br>
>> 1. o worker (aparentemente o cara que executará o serviço) não fica em loop<br>
>> lendo uma fila, parece que ele está sendo acionado pelo cliente;<br>
>> 2. o parece que o cliente fica 'preso' aguardando o final da execução do<br>
>> worker.<br>
>><br>
>> Ainda não tenho código (que o meu cliente não leia isto, pois estou muito<br>
>> atrasado), mas eu gostaria de obter recomendações de vocês sobre a<br>
>> arquitetura que estou imaginando.<br>
>><br>
>> Obrigado,<br>
>><br>
>> Solli Honorio<br>
>><br>
>><br>
>> --<br>
>> "o animal satisfeito dorme". - Guimarães Rosa<br>
>><br>
>> =begin disclaimer<br>
>>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
>>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
>> =end disclaimer<br>
>><br>
><br>
><br>
><br>
> --<br>
> "If you’ve never written anything thoughtful, then you’ve never had<br>
> any difficult, important, or interesting thoughts. That’s the secret:<br>
> people who don’t write, are people who don’t think."<br>
> =begin disclaimer<br>
>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
> =end disclaimer<br>
<br>
<br>
<br>
--<br>
Tiago B. Peczenyj<br>
Linux User #405772<br>
<br>
<a href="http://pacman.blog.br" target="_blank">http://pacman.blog.br</a><br>
=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</blockquote></div>
</div></div><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div>
</div></div><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div>